Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
.NET Framework proporciona compatibilidad con la representación de controles y otros elementos de la interfaz de usuario (UI) de Windows mediante estilos visuales en sistemas operativos que los admiten. En este tema se describen los distintos niveles de compatibilidad en .NET Framework para representar controles y otros elementos de interfaz de usuario con el estilo visual actual del sistema operativo.
Clases de representación para controles comunes
Representar un control hace referencia a dibujar la interfaz de usuario de un control. El System.Windows.Forms espacio de nombres proporciona la ControlPaint clase para representar algunos controles comunes de Windows Forms. Sin embargo, esta clase dibuja controles en el estilo clásico de Windows, lo que puede dificultar el mantenimiento de una experiencia de interfaz de usuario coherente al dibujar controles personalizados en aplicaciones con estilos visuales habilitados.
.NET Framework 2.0 incluye clases en el System.Windows.Forms espacio de nombres que representan las partes y los estados de los controles comunes con estilos visuales. Cada una de estas clases incluye static
métodos para dibujar el control o partes del control en un estado determinado con el estilo visual actual del sistema operativo.
Algunas de estas clases están diseñadas para dibujar el control relacionado independientemente de si los estilos visuales están disponibles. Si los estilos visuales están habilitados, los miembros de clase dibujarán el control relacionado con estilos visuales; si los estilos visuales están deshabilitados, los miembros de clase dibujarán el control en el estilo clásico de Windows. Estas clases incluyen:
Otras clases solo pueden dibujar el control relacionado cuando los estilos visuales están disponibles, y sus miembros producirán una excepción si los estilos visuales están deshabilitados. Estas clases incluyen:
Para obtener más información sobre el uso de estas clases para dibujar un control, vea Cómo: Usar una clase de representación de controles.
Elemento de estilo visual y clases de renderizado
El System.Windows.Forms.VisualStyles espacio de nombres incluye clases que se pueden usar para dibujar y obtener información sobre cualquier control o elemento de interfaz de usuario compatible con estilos visuales. Los controles admitidos incluyen controles comunes que tienen una clase de representación en el System.Windows.Forms espacio de nombres (consulte la sección anterior), así como otros controles, como controles de tabulación y controles de barra. Otros elementos de interfaz de usuario admitidos incluyen las partes del menú Inicio , la barra de tareas y el área no cliente de windows.
Las clases principales del System.Windows.Forms.VisualStyles espacio de nombres son VisualStyleElement y VisualStyleRenderer.
VisualStyleElement es una clase básica para identificar cualquier control o elemento de interfaz de usuario compatible con estilos visuales. Además de VisualStyleElement en sí mismo, el espacio de nombres System.Windows.Forms.VisualStyles incluye muchas clases anidadas de VisualStyleElement con propiedades static
que devuelven un VisualStyleElement para cada estado de un control, una parte del control u otro elemento de la interfaz de usuario admitido por estilos visuales.
VisualStyleRenderer proporciona métodos para dibujar y obtener información sobre cada VisualStyleElement definido por el estilo visual actual del sistema operativo. La información que se puede recuperar sobre un elemento incluye su tamaño predeterminado, el tipo de fondo y las definiciones de color. VisualStyleRenderer envuelve la funcionalidad de la API de estilos visuales (UxTheme) de la parte del shell de Windows del SDK de la Plataforma de Windows. Para obtener más información, vea Habilitación de estilos visuales.
Para obtener más información sobre el uso de VisualStyleRenderer y VisualStyleElement, consulte Cómo: Representar un elemento de estilo visual.
Habilitación de estilos visuales
Para habilitar estilos visuales para una aplicación escrita para .NET Framework versión 1.0, los programadores deben incluir un manifiesto de aplicación que especifique que se usará ComCtl32.dll versión 6 o posterior para dibujar controles. Las aplicaciones compiladas con .NET Framework versión 1.1 o posterior pueden usar el Application.EnableVisualStyles método de la Application clase .
Comprobación de soporte de estilos visuales
La RenderWithVisualStyles propiedad de la Application clase indica si la aplicación actual está dibujando controles con estilos visuales. Al pintar un control personalizado, puede comprobar el valor de RenderWithVisualStyles para determinar si debe representar el control con o sin estilos visuales. En la tabla siguiente se enumeran las cuatro condiciones que deben existir para RenderWithVisualStyles devolver true
.
Condición | Notas |
---|---|
El sistema operativo admite estilos visuales. | Para comprobar esta condición por separado, use la IsSupportedByOS propiedad de la VisualStyleInformation clase . |
El usuario ha habilitado estilos visuales en el sistema operativo. | Para comprobar esta condición por separado, use la IsEnabledByUser propiedad de la VisualStyleInformation clase . |
Los estilos visuales están habilitados en la aplicación. | Los estilos visuales se pueden habilitar en una aplicación llamando al Application.EnableVisualStyles método o mediante un manifiesto de aplicación que especifica que se usará ComCtl32.dll versión 6 o posterior para dibujar controles. |
Los estilos visuales se usan para dibujar el área cliente de las ventanas de la aplicación. | Para comprobar esta condición por separado, use la VisualStyleState propiedad de la Application clase y compruebe que tiene el valor VisualStyleState.ClientAreaEnabled o VisualStyleState.ClientAndNonClientAreasEnabled. |
Para determinar cuándo un usuario habilita o deshabilita los estilos visuales, o cambia de un estilo visual a otro, compruebe el valor UserPreferenceCategory.VisualStyle en los controladores de eventos para SystemEvents.UserPreferenceChanging o SystemEvents.UserPreferenceChanged.
Importante
Si desea usar VisualStyleRenderer para representar un control o un elemento de interfaz de usuario cuando el usuario habilita o cambia los estilos visuales, asegúrese de hacerlo al controlar el UserPreferenceChanged evento en lugar del UserPreferenceChanging evento. Se producirá una excepción si usa la VisualStyleRenderer clase al controlar UserPreferenceChanging.
Consulte también
.NET Desktop feedback