Funzionalità di Windows XP e controlli di Windows Form

Microsoft® Windows® XP dispone di nuove funzionalità utilizzabili nella creazione di Windows Form:

  • Nuovo aspetto e comportamento dell'interfaccia utente (UI)

  • Nuove visualizzazioni per il controllo ListView

  • Cambio rapido utente

Modifiche all'interfaccia utente in Windows XP

In Windows XP l'interfaccia utente è stata modificata radicalmente. Costituita dagli stessi controlli funzionali inclusi in Visual Studio .NET, l'interfaccia utente di Windows XP ha un aspetto rinnovato. Due esempi dei miglioramenti apportati da Windows XP sono i controlli con angoli arrotondati che si illuminano quando il mouse si trova sopra di essi e un controllo ProgressBar colorato.

Aspetto di un form e di controlli di esempio in Windows XP con gli stili di visualizzazione attivi

Schermata WinXPConAfter

Nota

Le funzionalità descritte in questo argomento sono valide solo per le applicazioni in esecuzione su Windows XP. Quando in esecuzione su altre piattaforme, i controlli manterranno l'interfaccia utente classica e il codice relativo agli stili di visualizzazione non avrà effetto.

I controlli disponibili agli sviluppatori in Visual Studio, al contrario, non condividono questo aspetto, anche se si tratta degli stessi controlli.

Aspetto predefinito di un form e di controlli di esempio creati con Visual Studio

Schermata WinXPConBefore

Un form è costituito da due componenti essenziali, un'area client e un'area non client. Tutte le applicazioni in esecuzione su Windows XP dispongono di un'area non client, che include la cornice della finestra, la barra del titolo, le barre di scorrimento non client. Il sistema operativo applica uno stile di visualizzazione all'area non client per impostazione predefinita. Quindi, quando il Windows Form viene eseguito in Windows XP, l'aspetto della barra del titolo e delle barre di scorrimento viene aggiornato. In questo argomento viene descritto come modificare l'area client.

Stili di visualizzazione

Uno stile di visualizzazione è l'aspetto, modificabile dall'utente, dell'interfaccia utente di un'applicazione o sistema operativo. Come già detto, le barre di scorrimento e la barra del titolo di un form si modificheranno immediatamente se eseguite su Windows XP. La maggioranza dei controlli Windows Form adotteranno automaticamente lo stile di visualizzazione quando eseguiti su Windows XP se l'applicazione chiama il metodo EnableVisualStyles. Per ulteriori informazioni, vedere Procedura: attivare gli stili di visualizzazione di Windows XP.

Un numero di limitato di controlli Windows Form avranno lo stesso aspetto su tutti i sistemi operativi. L'implementazione di EnableVisualStyles non avrà alcun effetto su questi controlli, tra i quali sono inclusi i controlli Label, LinkLabel, DomainUpDown, NumericUpDown e CheckedListBox.

Stili ListView di Windows XP

Oltre al nuovo aspetto dell'interfaccia utente, in Windows XP sono stati introdotti due nuovi stili per il controllo ListView, come evidenziato nel riquadro destro di Esplora risorse.

  • Visualizzazione a gruppi

  • Visualizzazione affiancata

Le funzionalità di raggruppamento del controllo ListView in Windows XP consentono di raggruppare visivamente insiemi di elementi correlati a livello logico. Questi gruppi sono separati sullo schermo da un'intestazione di gruppo orizzontale che include il titolo.

Su piattaforme precedenti a Windows XP, i gruppi non verranno visualizzati. Tutti gli elementi verranno visualizzati nel modo consueto. Per ulteriori informazioni, vedere Procedura: raggruppare elementi in un controllo ListView Windows Form.

I segni di inserimento indicano agli utenti dove saranno collocati gli elementi trascinati. I segni di inserimento vengono visualizzati quando la proprietà AutoArrange del controllo ListView è impostata su false. Quando un utente trascina un elemento in un punto intermedio tra due elementi, il segno di inserimento indica la nuova posizione prevista dell'elemento.

Su piattaforme precedenti a Windows XP, il segno di inserimento non verrà visualizzato e le chiamate alle proprietà e ai metodi relativi non avranno effetto. Per ulteriori informazioni, vedere Procedura: visualizzare un segno di inserimento in un controllo ListView per Windows Form.

La funzione di visualizzazione affiancata del controllo ListView consente di ottenere un equilibrio visivo tra informazioni in formato grafico e informazioni in formato testo. Le informazioni in formato testo visualizzate per un elemento nella visualizzazione affiancata corrispondono alle informazioni di colonna definite per la visualizzazione Dettagli. La visualizzazione affiancata agisce in combinazione con le funzioni di raggruppamento o di segno di inserimento nel controllo ListView. La visualizzazione affiancata utilizza un'icona 32 x 32 e alcune righe di testo.

Le proprietà e i metodi della visualizzazione affiancata consentono di specificare i campi di colonna da visualizzare per ciascun elemento, nonché di controllare le dimensioni e l'aspetto complessivo di tutti gli elementi all'interno di una finestra di visualizzazione affiancata. Per motivi di chiarezza, la prima riga di testo di una finestra affiancata corrisponde sempre al nome dell'elemento.

Su piattaforme precedenti a Windows XP, l'oggetto ListView verrà visualizzato in visualizzazione LargeIcon. Per ulteriori informazioni, vedere Procedura: abilitare la visualizzazione affiancata in un controllo ListView di Windows Form.

Cambio rapido utente in Windows XP

Windows XP introduce la funzionalità di Cambio rapido utente, che consente a più utenti di condividere un computer e di passare da una sessione utente all'altra senza chiudere i programmi in esecuzione. .NET Framework include un evento SessionSwitch che si verifica ogni volta che viene modificato l'utente corrente.

Nota

L'evento SessionSwitch si applica solo a Windows XP e il codice nel gestore eventi SessionSwitch verrà ignorato in caso di esecuzione su altre piattaforme.

Nel codice seguente viene illustrata la scrittura di dati in un log nell'evento 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());
}

Vedere anche

Attività

Procedura: raggruppare elementi in un controllo ListView Windows Form

Procedura: abilitare la visualizzazione affiancata in un controllo ListView di Windows Form

Procedura: visualizzare un segno di inserimento in un controllo ListView per Windows Form

Riferimenti

FlatStyle

SessionSwitch