?id=85540890-62c2-401d-99c2-44b96c9bbd2c
Un añadido a mi post sobre estilos visuales de Windows XP
por José M. Alarcón
Si sigues mi blog habitualmente puede que recuerdes un par de "post" que hice hace unos meses en los que explicaba la manera de habilitar los estilos visuales de Windows XP en las aplicaciones de Windows para conseguir un aspecto más moderno.
La activación pasa ineludiblemente por el uso del método estático EnableVisualStyles de la clase Application combinado con la propiedad FlatStyle de los distintos controles.
Aunque esto funciona de maravilla en Windows XP hay un problema cuando la misma apliación se intenta ejecutar en sistemas operativos más antiguos en los que no esté presente la biblioteca responsable del efecto (uxtheme.dll). En .NET 2.0 han tenido en cuenta esta particularidad y la aplicación se degrada de maravilla, pero en .NET 1.x las aplicaciones rompen, lo cual no es muy recomendable ¿verdad?.
Bueno, la solución es bastante sencilla ya que basta con comprobar en que versión de Windows se ejecuta la aplicación antes de establecer la propiedad EnableVisualStyles, así:
Código C#:
if(Environment.OSVersion.Platform == PlatformID.Win32NT &&
Environment.OSVersion.Version.Major >= 5)
{
if (OSFeature.Feature.IsPresent(OSFeature.Themes))
{
Application.EnableVisualStyles()
}
}
Código VB.NET:
If ((Environment.OSVersion.Platform = PlatformID.Win32NT) _
AndAlso (Environment.OSVersion.Version.Major >= 5)) Then
If OSFeature.Feature.IsPresent(OSFeature.Themes) Then
Application.EnableVisualStyles()
End If
End If
Con esto solucionamos el problema de un posible error de inicio de la aplicación.
José Manuel Alarcón Aguín
Fundador de
campusMVP.es, el
proyecto de referencia en formación on-line para programadores en lengua española.
Autor de varios libros y cientos de artículos. Galardonado como
MVP de Microsoft desde 2004. Gallego de Vigo, amante de la ciencia y la
tecnología, la música y la lectura. Ayudando a la gente en Internet desde 1996.