Возможности Windows XP и элементы управления Windows Forms

Обновлен: Ноябрь 2007

Microsoft® Windows® XP предоставляет новые возможности, преимуществами которых можно воспользоваться при создании форм Windows Forms:

  • Новый внешний вид и поведение пользовательского интерфейса

  • Новые представления элемента управления ListView

  • Быстрое переключение пользователей

Изменения интерфейса пользователя в Windows XP

В выпуске Windows XP представлен новый внешний вид и поведение интерфейса пользователя Windows. Пользовательский интерфейс Windows XP состоит из тех же функциональных элементов управления, которые были включены в Visual Studio .NET, но обладает обновленным внешним видом. Двумя примерами улучшений в Windows XP являются элементы управления со скругленными углами, подсвечивающиеся при наведении указателя мыши, и цветной элемент управления ProgressBar.

Внешний вид образца формы и элементов управления в Windows XP с включенными визуальными стилями
Снимок экрана WinXPConAfter

06da8ztk.alert_note(ru-ru,VS.90).gifПримечание.

Возможности, описанные в этом разделе, применимы только к приложениям, работающим под управлением операционной системы Windows XP. При запуске на других платформах элементы управления будут сохранять классический вид пользовательского интерфейса, а любой код, связанный с визуальными стилями, не будет иметь эффекта.

Элементы управления, доступные для разработчиков в Visual Studio, напротив, не разделяют этот внешний вид, несмотря на то что они являются теми же элементами управления.

Внешний вид по умолчанию образца формы и элементов управления, созданных с помощью Visual Studio
Снимок экрана WinXPConBefore

Форму можно представить в виде двух различных частей: клиентской области и неклиентской области. Все приложения, выполняющиеся в операционной системе Windows XP, имеют неклиентскую область, включающую фрейм окна, заголовок и неклиентские полосы прокрутки. Операционная система по умолчанию применяет визуальный стиль к неклиентской области. Таким образом, при запуске формы Windows Forms в Windows XP будут отображаться обновленные заголовок и полосы прокрутки. В этом разделе описывается, как вносить изменения в клиентскую область.

Визуальные стили

Визуальным стилем является изменяемый пользователем внешний вид пользовательского интерфейса приложения или операционной системы. Как уже упоминалось, полосы прокрутки и заголовок окна изменятся немедленно при запуске в Windows XP; большинство элементов управления Windows Forms автоматически применит визуальные стили при запуске в Windows XP, если приложение вызывает метод EnableVisualStyles. Дополнительные сведения см. в разделе Практическое руководство. Включение визуальных стилей Windows XP.

Имеется несколько элементов управления Windows Forms, которые будут выглядеть одинаково во всех операционных системах; реализация метода EnableVisualStyles не оказывает влияния на эти элементы управления. Эти относится к элементам управления Label, LinkLabel, DomainUpDown, NumericUpDown и CheckedListBox.

Стили ListView в Windows XP

В дополнение к новому внешнему виду интерфейса пользователя в Windows XP также введено два новых стиля для элемента управления ListView, как видно в правой области проводника Windows.

  • Представление "Группа"

  • Представление "Мозаика"

Возможности группирования элемента управления ListView в Windows XP позволяют визуально упорядочить логически связанные наборы элементов вместе. Эти группы отделяются на экране горизонтальным заголовком группы, который содержит название.

В платформах, предшествующих Windows XP, группы просто не будут отображаться. Все элементы будут отображаться как обычно. Дополнительные сведения см. в разделе Практическое руководство. Группирование элементов в элементе управления ListView в формах Windows Forms.

Метки вставки показывают пользователям, куда будут помещены перетаскиваемые элементы. Метки вставки отображаются, если свойство AutoArrange элемента управления ListView имеет значение "false". Когда пользователь перетаскивает элемент на точку между двумя другими элементами, метка вставки показывает ожидаемое новое расположение элемента.

В платформах, предшествующих Windows XP, метка вставки не появятся, а вызовы свойств и методов метки вставки не оказывают никакого влияния. Дополнительные сведения см. в разделе Практическое руководство. Индикация места вставки в элементе управления ListView в Windows Forms.

Представление "Мозаика" элемента управления ListView позволяет обеспечить визуальный баланс между графическими и текстовыми сведениями. В представлении "Плитка" отображаются те же текстовые сведения об элементе, что и сведения в столбцах табличного отображения. Представление "Мозаика" работает в сочетании с возможностями группирования или метки вставки в элементе управления ListView. Представление "Мозаика" использует несколько строк текста и значок размером 32 x 32 пиксела.

Свойства и методы представления "Мозаика" позволяют указать, какие поля столбцов следует отображать для каждого элемента, и управлять размером и внешним видом всех элементов в окне. Первой строкой текста заголовка для ясности всегда является название элемента.

В платформах, предшествующих Windows XP, элемент управления ListView будет отображаться в представлении LargeIcon. Дополнительные сведения см. в разделе Практическое руководство. Отображение содержимого элемента управления ListView в Windows Forms в виде мозаичного представления.

Быстрое переключение пользователей в Windows XP

В Windows XP введено быстрое переключение пользователей, которое позволяет нескольким пользователям получать общий доступ к компьютеру и переключаться между сеансами пользователей, не закрывая запущенные ими программы. В среде .NET Framework предусмотрено событие SessionSwitch, которое возникает при изменении текущего пользователя.

06da8ztk.alert_note(ru-ru,VS.90).gifПримечание.

Событие SessionSwitch применимо только к Windows XP, а код обработчика событий SessionSwitch будет пропущен при работе в других платформах.

В следующем примере демонстрируется запись данных в журнал в событии 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());
}

См. также

Задачи

Практическое руководство. Группирование элементов в элементе управления ListView в формах Windows Forms

Практическое руководство. Отображение содержимого элемента управления ListView в Windows Forms в виде мозаичного представления

Практическое руководство. Индикация места вставки в элементе управления ListView в Windows Forms

Ссылки

FlatStyle

SessionSwitch