Condividi tramite


DrawListViewItemEventArgs.State Proprietà

Definizione

Ottiene lo stato corrente dell'elemento ListViewItem da creare.

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

Valore della proprietà

Combinazione bit per bit dei valori ListViewItemStates che indica lo stato corrente dell'elemento ListViewItem.

Esempio

Nell'esempio di codice seguente viene illustrato come usare la State proprietà in un'applicazione che fornisce disegno personalizzato per un ListView controllo. Nell'esempio, un gestore per l'evento ListView.DrawItem disegna lo sfondo per l'intero elemento. In tutte le visualizzazioni, ad eccezione della visualizzazione dei dettagli, questo gestore disegna anche il testo in primo piano. Nella visualizzazione dei dettagli viene disegnato il testo in primo piano nell'evento ListView.DrawSubItem .

Per l'esempio completo, vedere l'argomento DrawListViewItemEventArgs di riferimento di panoramica.

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

Commenti

Utilizzare questa proprietà per verificare se l'oggetto ListViewItem da disegnare è in uno stato specifico. Questa proprietà fornisce solo informazioni sullo stato di base sull'elemento. È possibile usare questa proprietà, ad esempio, per determinare se un elemento è selezionato, controllato o incentrato. Se è necessario sapere di più, recuperare l'elemento tramite la Item proprietà e controllare direttamente le relative proprietà.

Si applica a

Vedi anche