DrawListViewItemEventArgs.State Egenskap

Definition

Hämtar det aktuella tillståndet för att ListViewItem rita.

public:
 property System::Windows::Forms::ListViewItemStates State { System::Windows::Forms::ListViewItemStates get(); };
public System.Windows.Forms.ListViewItemStates State { get; }
member this.State : System.Windows.Forms.ListViewItemStates
Public ReadOnly Property State As ListViewItemStates

Egenskapsvärde

En bitvis kombination av ListViewItemStates värden som anger aktuellt tillstånd för ListViewItem.

Exempel

Följande kodexempel visar hur du State använder egenskapen i ett program som tillhandahåller anpassad ritning för en ListView kontroll. I exemplet ritar en hanterare för ListView.DrawItem händelsen bakgrunden för hela objekt. I alla vyer utom informationsvyn ritar den här hanteraren även förgrundstexten. I informationsvyn ritas förgrundstexten ListView.DrawSubItem i händelsen.

Det fullständiga exemplet finns i översiktsreferensavsnittet DrawListViewItemEventArgs .

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

Använd den här egenskapen för att kontrollera om att ListViewItem rita är i ett visst tillstånd. Den här egenskapen innehåller endast grundläggande tillståndsinformation om objektet. Du kan till exempel använda den här egenskapen för att avgöra om ett objekt är markerat, markerat eller fokuserat. Om du behöver veta mer hämtar du objektet via egenskapen Item och kontrollerar dess egenskaper direkt.

Gäller för

Se även