DrawListViewItemEventArgs.DrawFocusRectangle Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menggambar persegi panjang fokus untuk ListViewItem jika memiliki fokus.
public:
void DrawFocusRectangle();
public void DrawFocusRectangle ();
member this.DrawFocusRectangle : unit -> unit
Public Sub DrawFocusRectangle ()
Contoh
Contoh kode berikut menunjukkan cara menggunakan DrawFocusRectangle metode dalam aplikasi yang menyediakan gambar kustom untuk ListView kontrol. Dalam contoh, handler untuk ListView.DrawItem peristiwa menggambar latar belakang untuk seluruh item. Di semua tampilan kecuali tampilan detail, handler ini juga menggambar teks latar depan. Dalam tampilan detail, teks latar depan digambar dalam peristiwa tersebut ListView.DrawSubItem .
Untuk contoh lengkapnya, lihat DrawListViewItemEventArgs topik referensi gambaran umum.
// 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
Keterangan
Gunakan metode ini untuk menggambar persegi fokus standar di sekitar item. Persegi panjang fokus biasanya digambar dalam area yang ditentukan oleh Bounds properti . Jika kontrol berada dalam tampilan detail dan ListView.FullRowSelect nilai properti adalah false
, namun, persegi panjang fokus digambar di sekitar area teks default untuk kolom pertama item.
Persegi panjang fokus hanya digambar ketika item memiliki fokus, jadi Anda tidak perlu memeriksa status fokus item sebelum Anda memanggil metode ini.