DrawListViewItemEventArgs.DrawFocusRectangle Methode

Definitie

Hiermee tekent u een focusrechthoek voor de ListViewItem focus als deze focus heeft.

public:
 void DrawFocusRectangle();
public void DrawFocusRectangle();
member this.DrawFocusRectangle : unit -> unit
Public Sub DrawFocusRectangle ()

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de DrawFocusRectangle methode gebruikt in een toepassing die aangepaste tekening voor een ListView besturingselement biedt. In het voorbeeld tekent een handler voor de ListView.DrawItem gebeurtenis de achtergrond voor hele items. In alle weergaven behalve de detailweergave tekent deze handler ook de voorgrondtekst. In de detailweergave wordt de voorgrondtekst getekend in de ListView.DrawSubItem gebeurtenis.

Zie het overzichtsonderwerp voor het DrawListViewItemEventArgs volledige voorbeeld.

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

Opmerkingen

Gebruik deze methode om een standaard focusrechthoek rond het item te tekenen. De focusrechthoek wordt normaal gesproken getekend binnen het gebied dat is opgegeven door de Bounds eigenschap. Als het besturingselement zich in de detailweergave bevindt en de ListView.FullRowSelect eigenschapswaarde echter is false, wordt de focusrechthoek getekend rond het standaardtekstgebied voor de eerste kolom van het item.

De focusrechthoek wordt alleen getekend wanneer het item de focus heeft, dus u hoeft de focusstatus van het item niet te controleren voordat u deze methode aanroept.

Van toepassing op

Zie ook