ListViewItemStates Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje stałe reprezentujące możliwe stany obiektu ListViewItem.
To wyliczenie obsługuje bitową kombinację jego wartości składowych.
public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates =
Public Enum ListViewItemStates
- Dziedziczenie
- Atrybuty
Pola
Checked | 8 | Element jest zaznaczony. |
Default | 32 | Element jest w stanie domyślnym. |
Focused | 16 | Element ma fokus. |
Grayed | 2 | Element jest wyłączony. |
Hot | 64 | Element znajduje się obecnie pod wskaźnikiem myszy. |
Indeterminate | 256 | Element jest w stanie nieokreślonym. |
Marked | 128 | Element jest oznaczony. |
Selected | 1 | Element jest zaznaczony. |
ShowKeyboardCues | 512 | Element powinien wskazywać skrót klawiaturowy. |
Przykłady
W poniższym przykładzie pokazano, jak zapewnić niestandardowy rysunek dla kontrolki ListView . Kontrolka ListView w przykładzie ma tło gradientu. Subitems z wartościami ujemnymi mają czerwony plan i czarne tło.
Procedura obsługi zdarzenia ListView.DrawItem rysuje tło dla całych elementów i dla wiersza nagłówków kolumn. Procedura obsługi zdarzenia ListView.DrawSubItem rysuje wartości tekstowe oraz tekst i tło dla poditemów, które mają wartości ujemne.
Składnik ContextMenu umożliwia przełączanie się między widokiem szczegółów a listą. W widoku listy jest wyzwalane tylko ListView.DrawItem zdarzenie. W tym przypadku tekst i tło są rysowane w procedurze obsługi zdarzeń ListView.DrawItem .
Pełny przykład można znaleźć w temacie referencyjnym ListView.OwnerDraw .
// 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
Uwagi
To wyliczenie jest używane przez DrawListViewItemEventArgs.State właściwości i DrawListViewSubItemEventArgs.ItemState . Aby uzyskać więcej informacji, zobacz zdarzenia ListView.DrawItem i ListView.DrawSubItem .