Fonctionnalités de Windows XP et contrôles Windows Forms

Microsoft® Windows® XP offre de nouvelles fonctionnalités dont vous pouvez tirer parti de lorsque vous créez des Windows Forms :

  • Nouvelle apparence et nouveau comportement dans l'interface utilisateur

  • Nouveaux affichages pour le contrôle ListView

  • Changement rapide d'utilisateur

Modifications de l'interface utilisateur dans Windows XP

Dans sa version finale, Windows XP présente une nouvelle apparence et un nouveau comportement pour l'interface utilisateur Windows. Composée des contrôles fonctionnels qui étaient inclus dans le .NET Visual Studio, l'interface utilisateur de Windows XP se caractérise par une apparence mise à jour. Ainsi, parmi les nouveautés incluses dans Windows XP figurent des contrôles aux angles arrondis dont la couleur change lorsqu'ils se trouvent sous le pointeur de la souris, ou encore un contrôle ProgressBar coloré.

Apparence d'exemple de formulaire et de contrôles dans Windows XP avec les « styles visuels » activés

Capture d'écran WinXPConAfter

Notes

Les fonctionnalités décrites dans cette rubrique s'appliquent uniquement aux applications qui s'exécutent sur le système d'exploitation Windows XP. Lors d'une exécution sur d'autres plateformes, les contrôles conservent leur apparence classique, et tout code en rapport avec les styles visuels reste sans effet.

Les contrôles disponibles aux développeurs dans Visual Studio n'ont pas, en revanche, cette apparence, bien qu'il s'agisse des mêmes contrôles.

Apparence par défaut d'un exemple de formulaire et de contrôles lorsqu'ils sont créés à l'aide de Visual Studio

Capture d'écran WinXPConBefore

Vous pouvez considérer un formulaire comme ayant deux parties distinctes : une zone cliente et une zone non cliente. Toutes les applications qui s'exécutent sur le système d'exploitation Windows XP ont une zone non cliente qui inclut le frame de fenêtre, la barre de titre et les barres de défilement non clientes. Le système d'exploitation applique par défaut un style visuel à la zone non cliente, afin que lorsque votre formulaire Windows s'exécute sur Windows XP, vous puissiez voir une barre de titre et des barres de défilement mises à jour. Cette rubrique explique comment apporter des modifications à la zone cliente.

Styles visuels

Un style visuel est l'apparence modifiable par l'utilisateur de l'interface utilisateur d'une application ou d'un système d'exploitation. Comme déjà indiqué, les barres de défilement et la barre de titre d'un formulaire changent immédiatement lors d'une exécution sur Windows XP ; la plupart des contrôles Windows Forms adoptent automatiquement le style visuel sur Windows XP si votre application appelle la méthode EnableVisualStyles. Pour plus d'informations, consultez Comment : activer les styles visuels Windows XP.

Il existe quelques contrôles Windows Forms qui conservent la même apparence sur tous les systèmes d'exploitation ; EnableVisualStyles n'a aucun effet sur ces contrôles. Il s'agit notamment des contrôles Label, LinkLabel, DomainUpDown, NumericUpDown et CheckedListBox.

Styles ListView de Windows XP

En plus de la nouvelle apparence de l'interface utilisateur, Windows XP a également introduit deux nouveaux styles pour le contrôle ListView, ainsi que l'illustre le volet droit de l'Explorateur Windows.

  • Affichage en groupes

  • Affichage en mosaïque

Les fonctions de regroupement du contrôle ListView présentes dans Windows XP permettent de regrouper visuellement des jeux d'éléments liés de façon logique. Ces groupes sont séparés sur l'écran par un en-tête de groupe horizontal qui contient le titre.

Sur les plateformes antérieures à Windows XP, les groupes n'apparaîtront simplement pas. Tous les éléments seront affichés comme d'habitude. Pour plus d'informations, consultez Comment : grouper des éléments dans un contrôle ListView Windows Forms.

Des marques d'insertion indiquent aux utilisateurs l'endroit où seront placés Les éléments déplacés par glissement. Les marques d'insertion s'affichent lorsque la propriété AutoArrange du contrôle ListView a la valeur false. Lorsqu'un utilisateur fait glisser un élément vers un point situé entre deux autres éléments, la marque d'insertion indique le nouvel emplacement prévu de l'élément.

Sur les plateformes antérieures à Windows XP, la marque d'insertion n'apparaîtra pas et les appels aux méthodes et aux propriétés des marques d'insertion n'auront aucun effet. Pour plus d'informations, consultez Comment : afficher une marque d'insertion dans un contrôle ListView Windows Forms.

La fonctionnalité d'affichage en mosaïque du contrôle ListView permet de fournir un équilibre visuel entre des informations graphiques et textuelles. Les informations textuelles affichées pour un élément dans l'affichage en mosaïque sont les mêmes que les informations de colonne définies pour le mode Détails. L'affichage en mosaïque fonctionne en association avec les fonctions de regroupement ou de marques d'insertion dans le contrôle ListView. L'affichage en mosaïque utilise une icône de 32 x 32 et plusieurs lignes de texte.

Les propriétés et méthodes d'affichage en mosaïque vous permettent de spécifier les champs de colonne devant afficher chaque élément, et de contrôler collectivement la taille et l'apparence de tous les éléments d'une fenêtre d'affichage en mosaïque. Pour des raisons de clarté, la première ligne de texte d'une mosaïque est toujours le nom de l'élément.

Sur les plateformes qui précèdent Windows XP, le ListView apparaîtra dans l'affichage LargeIcon. Pour plus d'informations, consultez Comment : activer l'affichage en mosaïque dans un contrôle ListView Windows Forms.

Changement rapide d'utilisateur dans Windows XP

Windows XP a introduit la fonctionnalité de changement rapide d'utilisateur, qui permet à plusieurs utilisateurs de partager un ordinateur et d'alterner entre des sessions utilisateur sans fermer les programmes qu'ils exécutent. Le .NET Framework fournit un événement SessionSwitch qui se produit lorsque l'utilisateur actuel change.

Notes

L'événement SessionSwitch s'applique seulement à Windows XP et le code dans le gestionnaire d'événements SessionSwitch est ignoré lors de l'exécution sur d'autres plateformes.

Le code suivant illustre l'écriture de données dans un journal de l'événement SessionSwitch :

Private Sub SessionSwitch(ByVal sender As System.Object, ByVal e As _
Microsoft.Win32.SessionSwitchEventArgs)
    If e.Reason = SessionSwitchReason.SessionLogon Then
        My.Computer.EventLogs.Application.WriteEntry( _
My.User.Username.ToString & " logged on at " & _
My.Computer.Clock.LocalTime.Now.ToString)
    ElseIf e.Reason = SessionSwitchReason.SessionLogoff Then
        My.Computer.EventLogs.Application.WriteEntry( _
My.User.Username.ToString & " logged off at " & _
My.Computer.Clock.LocalTime.Now.ToString)
    End If
End Sub
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());
}

Voir aussi

Tâches

Comment : grouper des éléments dans un contrôle ListView Windows Forms

Comment : activer l'affichage en mosaïque dans un contrôle ListView Windows Forms

Comment : afficher une marque d'insertion dans un contrôle ListView Windows Forms

Référence

FlatStyle

SessionSwitch