Esta documentación está archivada y no tiene mantenimiento.

Características de Windows XP y controles de formularios Windows Forms

Actualización: noviembre 2007

Microsoft® Windows® XP presenta nuevas características que se pueden aprovechar al crear formularios Windows Forms:

  • Nueva apariencia y comportamiento de la interfaz de usuario.

  • Nuevas vistas para el control ListView

  • Cambio rápido de usuario

Con esta versión, Windows XP introduce una nueva apariencia y comportamiento en la interfaz de usuario Windows. Con los mismos controles funcionales que se incluían en Visual Studio .NET, la interfaz de usuario de Windows XP presenta un aspecto actualizado. Dos ejemplos de las mejoras de Windows XP consisten en controles con esquinas redondeadas que se activan cuando se mueve el mouse y un control ProgressBar de color.

Cómo se muestran los controles y un formulario de ejemplo en Windows XP con los "estilos visuales" activados
Captura de pantalla de WinXPConAfter
06da8ztk.alert_note(es-es,VS.90).gifNota:

Las funciones que se describen en este tema sólo se utilizan en aplicaciones que se ejecutan en el sistema operativo Windows XP. Al ejecutarse en otras plataformas, los controles conservarán el clásico aspecto de la interfaz de usuario y no tendrá ningún efecto ningún código relacionado con los estilos visuales.

Por el contrario, los controles disponibles para los desarrolladores en Visual Studio no compartirán esta apariencia, aunque son los mismos controles.

Cómo se muestran de forma predeterminada los controles y un formulario de ejemplo cuando se crean con Visual Studio
Captura de pantalla de WinXPConBefore

Se puede considerar que un formulario tiene dos partes distintas: un área de cliente y un área que no es de cliente. Todas las aplicaciones que se ejecutan en el sistema operativo Windows XP tienen un área que no es de cliente, que incluye el marco de ventana, la barra de título y las barras de desplazamiento que no son de cliente. El sistema operativo, de forma predeterminada, aplica un estilo visual al área que no es de cliente, por tanto cuando el formulario Windows se ejecuta en Windows XP, verá una barra de título y las barras de desplazamiento actualizadas. En este tema se describe cómo realizar cambios en el área de cliente.

Estilos visuales

Un estilo visual es la apariencia que puede modificar el usuario en la interfaz de usuario de una aplicación o sistema operativo. Como ya se ha mencionado, las barras de desplazamiento del formulario y la barra de título cambian inmediatamente cuando se ejecutan en Windows XP; la mayoría de los controles de los formularios Windows Forms adoptarán automáticamente el estilo visual cuando se ejecutan en Windows XP si la aplicación llama al método EnableVisualStyles. Para obtener más información, vea Cómo: Habilitar estilos visuales en Windows XP.

Algunos controles de los formularios Windows Forms tienen el mismo aspecto en todos los sistemas operativos, y la implementación de EnableVisualStyles no tendrá ningún efecto sobre ellos. Entre ellos se incluyen los controles Label, LinkLabel, DomainUpDown, NumericUpDown y CheckedListBox.

Además de la nueva apariencia de la interfaz de usuario, Windows XP también introduce dos nuevos estilos para el control ListView, tal como se muestra en el panel derecho del Explorador de Windows.

  • Vista de grupos

  • Vista en mosaico

Las funciones de agrupación del control ListView en Windows XP permiten organizar visualmente conjuntos de elementos relacionados de forma lógica. Estos grupos están separados en la pantalla por un encabezado de grupo horizontal que contiene el título.

En las plataformas anteriores a Windows XP, los grupos simplemente no aparecen. Todos los elementos se mostrarán de la forma habitual. Para obtener más información, vea Cómo: Agrupar elementos en un control ListView de formularios Windows Forms.

Las marcas de inserción muestran a los usuarios dónde se colocarán los elementos arrastrados. Las marcas de inserción muestran si la propiedad AutoArrange del control ListView está establecida en false. Cuando un usuario arrastra un elemento hasta un punto situado entre otros dos elementos, la marca de inserción muestra la nueva ubicación esperada del elemento.

En las plataformas anteriores a Windows XP, la marca de inserción no aparece y las llamadas a los métodos y propiedades de la marca de inserción no tendrán ningún efecto. Para obtener más información, vea Cómo: Mostrar una marca de inserción en un control ListView de formularios Windows Forms.

La característica de la vista en mosaico del control ListView permite ofrecer un equilibrio visual entre la información gráfica y textual. La información textual mostrada de un elemento en la vista en mosaico es igual que la información de columna definida para la vista de detalles. La vista en mosaico funciona en combinación con las funciones de agrupación o de marca de inserción en el control ListView. La vista en mosaico utiliza un icono 32 x 32 y varias líneas de texto.

Las propiedades y los métodos de la vista en mosaico permiten especificar los campos de columna que deben mostrarse para cada elemento, y controlar colectivamente el tamaño y el aspecto de todos los elementos dentro de una ventana de vista en mosaico. Para mayor claridad, la primera línea de texto de un mosaico siempre es el nombre del elemento.

En las plataformas anteriores a Windows XP, el control ListView aparece en la vista LargeIcon. Para obtener más información, vea Cómo: Habilitar la vista en mosaico en un control ListView de formularios Windows Forms.

Windows XP introduce el cambio rápido de usuario, que permite a varios usuarios compartir un equipo y cambiar entre sesiones de usuario sin cerrar los programas que se están ejecutando. .NET Framework proporciona un evento SessionSwitch que tiene lugar cuando cambia el usuario actual.

06da8ztk.alert_note(es-es,VS.90).gifNota:

El evento SessionSwitch sólo se aplica a Windows XP, y se pasará por alto el código del controlador de eventos SessionSwitch cuando se ejecuta en otras plataformas.

En el código siguiente se muestra cómo se especifican datos en un registro en el evento SessionSwitch:

private void sessionSwitch(System.Object sender, _
Microsoft.Win32.SessionSwitchEventArgs e)
{
    if (e.Reason == SessionSwitchReason.SessionLogon)
        EventLog.WriteEntry("sessionSwitch", _
SystemInformation.UserName.ToString() + " logged on at " + _
DateTime.Now.TimeOfDay.ToString());
    else if (e.Reason == SessionSwitchReason.SessionLogoff)
        EventLog.WriteEntry("sessionSwitch", _
SystemInformation.UserName.ToString() + " logged off at " + _
DateTime.Now.TimeOfDay.ToString());
}
Mostrar: