Sdílet prostřednictvím


ListViewItemStates Výčet

Definice

Definuje konstanty, které představují možné stavy .ListViewItem

Tento výčet podporuje bitové kombinace hodnot jeho členů.

public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates = 
Public Enum ListViewItemStates
Dědičnost
ListViewItemStates
Atributy

Pole

Checked 8

Položka je zaškrtnutá.

Default 32

Položka je ve výchozím stavu.

Focused 16

Položka má fokus.

Grayed 2

Položka je zakázaná.

Hot 64

Položka je aktuálně pod ukazatelem myši.

Indeterminate 256

Položka je v neurčitém stavu.

Marked 128

Položka je označená.

Selected 1

Položka je vybraná.

ShowKeyboardCues 512

Položka by měla označovat klávesovou zkratku.

Příklady

Následující příklad ukazuje, jak poskytnout vlastní výkres pro ovládací prvek ListView . Ovládací ListView prvek v příkladu má pozadí přechodu. Podřízené položky se zápornými hodnotami mají červené popředí a černé pozadí.

Obslužná rutina události ListView.DrawItem nakreslí pozadí pro celé položky a řádek záhlaví sloupců. Obslužná rutina události ListView.DrawSubItem nakreslí textové hodnoty a text i pozadí pro podřízené položky, které mají záporné hodnoty.

Komponenta ContextMenu poskytuje způsob, jak přepínat mezi zobrazením podrobností a seznamem. V zobrazení seznamu se aktivuje pouze ListView.DrawItem událost. V tomto případě se text i pozadí vykreslí v obslužné rutině ListView.DrawItem události.

Úplný příklad najdete v referenčním ListView.OwnerDraw tématu.

// 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

Poznámky

Tento výčet je používán vlastnostmi DrawListViewItemEventArgs.State a DrawListViewSubItemEventArgs.ItemState . Další informace najdete v ListView.DrawItem tématu události a ListView.DrawSubItem .

Platí pro

Viz také