DrawListViewItemEventArgs.DrawFocusRectangle Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un rettangolo di attivazione per l'elemento ListViewItem se è in stato attivo.
public:
void DrawFocusRectangle();
public void DrawFocusRectangle ();
member this.DrawFocusRectangle : unit -> unit
Public Sub DrawFocusRectangle ()
Esempio
Nell'esempio di codice seguente viene illustrato come usare il DrawFocusRectangle metodo 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
Usare questo metodo per disegnare un rettangolo di stato attivo standard intorno all'elemento. Il rettangolo di messa a fuoco viene in genere disegnato all'interno dell'area Bounds specificata dalla proprietà. Se il controllo si trova nella visualizzazione dei dettagli e il ListView.FullRowSelect valore della proprietà è false
, tuttavia, il rettangolo di stato attivo viene disegnato attorno all'area di testo predefinita per la prima colonna dell'elemento.
Il rettangolo dello stato attivo viene disegnato solo quando l'elemento ha lo stato attivo, quindi non è necessario controllare lo stato attivo dell'elemento prima di chiamare questo metodo.