Compartilhar via


Recursos do Windows XP e Controles dos Formulários do Windows

Microsoft ® Windows ® XP possui novos recursos que você pode aproveitar quando você cria Formulários do Windows:

  • Nova aparência e comportamento (e aparência) na interface do usuário (IU)

  • Novos modos de exibição para o controle ListView

  • Troca rápida de usuário

Alterações na interface do usuário no Windows XP

Com sua versão, o Windows XP introduziu uma nova aparência e comportamento para o interface do usuário do Windows. Composta dos mesmos controles funcionais que foram incluídos no Visual Studio.NET a IU do Windows XP exibe uma aparência atualizada. Dois exemplos dos aprimoramentos do Windows XP são controles com cantos arredondados que acendem em contato com o ponteiro do mouse e um controle ProgressBar colorido.

Como um exemplo de formulário e controles aparecem no Windows XP com os "estilos visuais" ativados

Captura de tela de WinXPConAfter

ObservaçãoObservação

Os recursos descritos neste tópico aplicam-se somente aos aplicativos executados no sistema operacional Windows XP. Quando executados em outras plataformas, os controles manterão a aparência clássica da IU, e qualquer código relacionado aos estilos visuais não terão efeito.

Os controles disponíveis para os desenvolvedores em Visual Studio por outro lado, não compartilham essa aparência, mesmo que eles sejam os mesmos controles.

Como um exemplo de formulário e controles aparecem por padrão quando criados no Visual Studio

Captura de tela de WinXPConBefore

Você pode pensar em um formulário como tendo duas partes distintas: uma área de cliente e uma área não-cliente. Todos os aplicativos executando no sistema operacional Windows XP têm uma área não cliente, que inclui a moldura da janela, barra de título e barras de rolagem não clientes. O sistema operacional aplica um estilo visual para a área não cliente por padrão, para que quando o formulário do Windows é executado no Windows XP, você beja uma barra de título e barras de rolagem atualizadas. Este tópico descreve como fazer alterações na área cliente.

Estilos Visuais

Um estilo visual é a aparência da interface do usuário modoficável de um aplicativo ou sistema operacional. Conforme já mencionado, as barras de rolagem do formulário e a barra de título serão alterados imediatamente quando executadas no Windows XP; a maioria dos controles de Formulários do Windows automaticamente adotarão o estilo visual quando executado no Windows XP se seu aplicativo chama o método EnableVisualStyles. Para obter mais informações, consulte como: Ativar estilos do Windows XP Visual.

Há alguns controles de Formulários do Windows que terão a mesma aparência em todos os sistemas operacionais; implementar EnableVisualStyles não tem efeito sobre estes controles. Eles incluem os controles Label, LinkLabel, DomainUpDown, NumericUpDown e CheckedListBox.

Estilos de ListView no Windows XP

Além da nova aparência da IU, o Windows XP também introduziu dois novos estilos para o controle ListView, conforme evidenciado no painel direito do Windows Explorer.

  • Visão de Grupo

  • Visão Lado a Lado

Os recursos de agrupamentodo do controle ListView no Windows XP permitem organizar visualmente juntos os conjuntos de itens logicamente relacionados. Estes grupos são separados na tela por um cabeçalho horizontal de grupo que contém o título.

Em plataformas anteriores ao Windows XP, os grupos simplesmente não aparecerão. Todos os itens serão exibidos como de costume. Para obter mais informações, consulte Como: Agrupar itens em um controle ListView do Windows Forms.

Marcas de inserção mostram aos usuários onde os itens arrastados serão colocados. As marcas de inserção são exibidas quando a propriedade AutoArrange do controle ListView é definida como false. Quando um usuário arrasta um item para um ponto entre dois outros itens, a marca de inserção mostra o novo local esperado do item.

Em plataformas anteriores ao Windows XP, a marca de inserção não aparecerá e chamadas a métodos e propriedades da marca de inserção não terão efeito. Para obter mais informações, consulte Como: Exibir uma marca de inserção em um controle ListView do Windows Forms.

O recurso de exibição lado a lado do controle ListView permite a você fornecer um equilíbrio visual entre informações gráficas e textuais. As informações textuais exibidas para um item no modo lado a lado são as mesmas informações de coluna definidas para a visão detalhada. Funções de exibição lado a lado junto com os recursos de agrupamento ou marca de inserção no controle ListView. A exibição lado a lado usa um ícone de 32 x 32 e várias linhas de texto.

As propriedades e métodos da exibição lado a lado permitem que você especifique que campos de coluna exibir para cada item e controlar coletivamente o tamanho e a aparência de todos os itens em uma janela em modo de exibição lado a lado. Para fins de esclarecimento, a primeira linha do texto em um lado a lado é sempre o nome do item.

Em plataformas que precedem o Windows XP, o ListView aparecerá na exibição LargeIcon. Para obter mais informações, consulte Como: Habilitar a exibição lado a lado em um controle ListView do Windows Forms.

Troca Rápida de Usuário no Windows XP

O Windows XP introduziu o recurso de troca rápida de usuário, que permite que vários usuários compartilhem um computador e alternem entre sessões de usuário sem fechar os programas que estão sendo executados. O .NET Framework fornece um SessionSwitch evento que ocorre quando as alterações de usuário atual.

ObservaçãoObservação

O evento SessionSwitch somente se aplica ao Windows XP, e o código no manipulador de eventos SessionSwitch será ignorado quando em execução em outras plataformas.

O código a seguir demonstra gravar dados em um log no 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());
}

Consulte também

Tarefas

Como: Agrupar itens em um controle ListView do Windows Forms

Como: Habilitar a exibição lado a lado em um controle ListView do Windows Forms

Como: Exibir uma marca de inserção em um controle ListView do Windows Forms

Referência

FlatStyle

SessionSwitch