DrawListViewItemEventArgs.DrawFocusRectangle Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Zeichnet ein Fokusrechteck für das ListViewItem, wenn es den Fokus besitzt.
public:
void DrawFocusRectangle();
public void DrawFocusRectangle ();
member this.DrawFocusRectangle : unit -> unit
Public Sub DrawFocusRectangle ()
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Methode in einer Anwendung verwendet wird, die DrawFocusRectangle benutzerdefinierte Zeichnung für ein ListView Steuerelement bereitstellt. Im Beispiel zeichnet ein Handler für das ListView.DrawItem Ereignis den Hintergrund für ganze Elemente. In allen Ansichten mit Ausnahme der Detailansicht zeichnet dieser Handler auch den Vordergrundtext. In der Detailansicht wird der Vordergrundtext im ListView.DrawSubItem Ereignis gezeichnet.
Das vollständige Beispiel finden Sie im DrawListViewItemEventArgs Übersichtsreferenzthema.
// 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
Hinweise
Verwenden Sie diese Methode, um ein Standardfokusrechteck um das Element zu zeichnen. Das Fokusrechteck wird normalerweise innerhalb des durch die Bounds Eigenschaft angegebenen Bereichs gezeichnet. Wenn sich das Steuerelement in der Detailansicht befindet und der ListView.FullRowSelect Eigenschaftswert lautet, wird falsedas Fokusrechteck jedoch um den Standardtextbereich für die erste Spalte des Elements gezeichnet.
Das Fokusrechteck wird nur gezeichnet, wenn das Element den Fokus hat. Daher müssen Sie den Fokusstatus des Elements nicht überprüfen, bevor Sie diese Methode aufrufen.