DrawListViewItemEventArgs.State Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá aktuální stav ListViewItem nakreslit.
public:
property System::Windows::Forms::ListViewItemStates State { System::Windows::Forms::ListViewItemStates get(); };
public System.Windows.Forms.ListViewItemStates State { get; }
member this.State : System.Windows.Forms.ListViewItemStates
Public ReadOnly Property State As ListViewItemStates
Hodnota vlastnosti
Bitová kombinace ListViewItemStates hodnot označujících aktuální stav ListViewItem.
Příklady
Následující příklad kódu ukazuje, jak použít State vlastnost v aplikaci, která poskytuje vlastní výkres pro ovládací prvek ListView . V příkladu obslužná rutina ListView.DrawItem události vykreslí pozadí pro celé položky. Ve všech zobrazeních kromě zobrazení podrobností tato obslužná rutina také nakreslí text na popředí. V zobrazení podrobností se text na popředí vykreslí v ListView.DrawSubItem události.
Úplný příklad najdete v tématu s referenčními informacemi k přehledu DrawListViewItemEventArgs .
// 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
Poznámky
Pomocí této vlastnosti můžete zkontrolovat, jestli je objekt, který ListViewItem se má nakreslit, v určitém stavu. Tato vlastnost poskytuje pouze základní informace o stavu položky. Tuto vlastnost můžete použít například k určení, zda je položka vybrána, zkontrolována nebo zaměřena. Pokud potřebujete vědět víc, načtěte položku prostřednictvím Item vlastnosti a zkontrolujte její vlastnosti přímo.