Прочитать на английском

Поделиться через


ListViewItemStates Перечисление

Определение

Определяет константы, представляющие возможные состояния объекта ListViewItem.

Это перечисление поддерживает побитовую комбинацию значений его членов.

C#
[System.Flags]
public enum ListViewItemStates
Наследование
ListViewItemStates
Атрибуты

Поля

Имя Значение Описание
Checked 8

Для элемента установлен флажок.

Default 32

Элемент находится в состоянии по умолчанию.

Focused 16

Элемент имеет фокус.

Grayed 2

Элемент отключен.

Hot 64

Элемент находится в текущий момент под указателем мыши.

Indeterminate 256

Элемент находится в неопределенном состоянии.

Marked 128

Элемент помечен.

Selected 1

Элемент выбран.

ShowKeyboardCues 512

Элемент должен показывать сочетание клавиш.

Примеры

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

Обработчик события ListView.DrawItem рисует фон для целых элементов и строки заголовков столбцов. Обработчик события ListView.DrawSubItem рисует текстовые значения, а также текст и фон для подэлементов, имеющих отрицательные значения.

Компонент ContextMenu предоставляет способ переключения между представлением сведений и списком. В представлении списка запускается только ListView.DrawItem событие . В этом случае текст и фон рисуются в обработчике ListView.DrawItem событий.

Полный пример см. в справочном ListView.OwnerDraw разделе.

C#
// Draws the backgrounds for entire ListView items.
private void listView1_DrawItem(object sender,
    DrawListViewItemEventArgs e)
{
    if ((e.State & ListViewItemStates.Selected) != 0)
    {
        // Draw the background and focus rectangle for a selected item.
        e.Graphics.FillRectangle(Brushes.Maroon, e.Bounds);
        e.DrawFocusRectangle();
    }
    else
    {
        // Draw the background for an unselected item.
        using (LinearGradientBrush brush =
            new LinearGradientBrush(e.Bounds, Color.Orange,
            Color.Maroon, LinearGradientMode.Horizontal))
        {
            e.Graphics.FillRectangle(brush, e.Bounds);
        }
    }

    // Draw the item text for views other than the Details view.
    if (listView1.View != View.Details)
    {
        e.DrawText();
    }
}

Комментарии

Это перечисление используется свойствами DrawListViewItemEventArgs.State и DrawListViewSubItemEventArgs.ItemState . Дополнительные сведения см. в разделе о событиях ListView.DrawItem и ListView.DrawSubItem .

Применяется к

Продукт Версии
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

См. также раздел