ListViewItemStates Výčet
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í.
Definuje konstanty, které představují možné stavy .ListViewItem
Tento výčet podporuje bitové kombinace hodnot jeho členů.
public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates =
Public Enum ListViewItemStates
- Dědičnost
- Atributy
Pole
Checked | 8 | Položka je zaškrtnutá. |
Default | 32 | Položka je ve výchozím stavu. |
Focused | 16 | Položka má fokus. |
Grayed | 2 | Položka je zakázaná. |
Hot | 64 | Položka je aktuálně pod ukazatelem myši. |
Indeterminate | 256 | Položka je v neurčitém stavu. |
Marked | 128 | Položka je označená. |
Selected | 1 | Položka je vybraná. |
ShowKeyboardCues | 512 | Položka by měla označovat klávesovou zkratku. |
Příklady
Následující příklad ukazuje, jak poskytnout vlastní výkres pro ovládací prvek ListView . Ovládací ListView prvek v příkladu má pozadí přechodu. Podřízené položky se zápornými hodnotami mají červené popředí a černé pozadí.
Obslužná rutina události ListView.DrawItem nakreslí pozadí pro celé položky a řádek záhlaví sloupců. Obslužná rutina události ListView.DrawSubItem nakreslí textové hodnoty a text i pozadí pro podřízené položky, které mají záporné hodnoty.
Komponenta ContextMenu poskytuje způsob, jak přepínat mezi zobrazením podrobností a seznamem. V zobrazení seznamu se aktivuje pouze ListView.DrawItem událost. V tomto případě se text i pozadí vykreslí v obslužné rutině ListView.DrawItem události.
Úplný příklad najdete v referenčním ListView.OwnerDraw tématu.
// 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
Tento výčet je používán vlastnostmi DrawListViewItemEventArgs.State a DrawListViewSubItemEventArgs.ItemState . Další informace najdete v ListView.DrawItem tématu události a ListView.DrawSubItem .