DrawListViewItemEventArgs.DrawFocusRectangle Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.