ListViewItemStates Enum

Definition

Definierar konstanter som representerar möjliga tillstånd för en ListViewItem.

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates = 
Public Enum ListViewItemStates
Arv
ListViewItemStates
Attribut

Fält

Name Värde Description
Selected 1

Objektet är markerat.

Grayed 2

Objektet är inaktiverat.

Checked 8

Objektet är markerat.

Focused 16

Objektet har fokus.

Default 32

Objektet är i sitt standardtillstånd.

Hot 64

Objektet finns för närvarande under muspekaren.

Marked 128

Objektet är markerat.

Indeterminate 256

Objektet är i ett obestämt tillstånd.

ShowKeyboardCues 512

Objektet bör ange ett kortkommando.

Exempel

I följande exempel visas hur du tillhandahåller anpassad ritning för en ListView kontroll. Kontrollen ListView i exemplet har en toningsbakgrund. Underwebbplatser med negativa värden har en röd förgrund och en svart bakgrund.

En hanterare för ListView.DrawItem händelsen ritar bakgrunden för hela objekt och för raden kolumnrubriker. En hanterare för ListView.DrawSubItem händelsen ritar textvärdena och både text och bakgrund för underwebbplatser som har negativa värden.

En ContextMenu komponent ger ett sätt att växla mellan informationsvyn och listan. I listvyn utlöses endast ListView.DrawItem händelsen. I det här fallet ritas både text och bakgrund i ListView.DrawItem händelsehanteraren.

Det fullständiga exemplet finns i referensavsnittet 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

Kommentarer

Den här uppräkningen används av DrawListViewItemEventArgs.State egenskaperna och DrawListViewSubItemEventArgs.ItemState . Mer information finns i ListView.DrawItem händelserna och ListView.DrawSubItem .

Gäller för

Se även