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


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

Определение

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

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

public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates = 
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 разделе.

// 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();
    }
}
' Draws the backgrounds for entire ListView items.
Private Sub listView1_DrawItem(ByVal sender As Object, _
    ByVal e As DrawListViewItemEventArgs) _
    Handles listView1.DrawItem

    If Not (e.State And ListViewItemStates.Selected) = 0 Then

        ' Draw the background for a selected item.
        e.Graphics.FillRectangle(Brushes.Maroon, e.Bounds)
        e.DrawFocusRectangle()

    Else

        ' Draw the background for an unselected item.
        Dim brush As New LinearGradientBrush(e.Bounds, Color.Orange, _
            Color.Maroon, LinearGradientMode.Horizontal)
        Try
            e.Graphics.FillRectangle(brush, e.Bounds)
        Finally
            brush.Dispose()
        End Try

    End If

    ' Draw the item text for views other than the Details view.
    If Not Me.listView1.View = View.Details Then
        e.DrawText()
    End If

End Sub

Комментарии

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

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

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