ListViewItemStates Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar konstanter som representerar möjliga tillstånd för en ListViewItem.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates =
Public Enum ListViewItemStates
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| Selected | 1 | Objektet är markerat. |
| Grayed | 2 | Objektet är inaktiverat. |
| Checked | 8 | Objektet är markerat. |
| Focused | 16 | Objektet har fokus. |
| Default | 32 | Objektet är i sitt standardtillstånd. |
| Hot | 64 | Objektet finns för närvarande under muspekaren. |
| Marked | 128 | Objektet är markerat. |
| Indeterminate | 256 | Objektet är i ett obestämt tillstånd. |
| ShowKeyboardCues | 512 | Objektet bör ange ett kortkommando. |
Exempel
I följande exempel visas hur du tillhandahåller anpassad ritning för en ListView kontroll. Kontrollen ListView i exemplet har en toningsbakgrund. Underwebbplatser med negativa värden har en röd förgrund och en svart bakgrund.
En hanterare för ListView.DrawItem händelsen ritar bakgrunden för hela objekt och för raden kolumnrubriker. En hanterare för ListView.DrawSubItem händelsen ritar textvärdena och både text och bakgrund för underwebbplatser som har negativa värden.
En ContextMenu komponent ger ett sätt att växla mellan informationsvyn och listan. I listvyn utlöses endast ListView.DrawItem händelsen. I det här fallet ritas både text och bakgrund i ListView.DrawItem händelsehanteraren.
Det fullständiga exemplet finns i referensavsnittet 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
Kommentarer
Den här uppräkningen används av DrawListViewItemEventArgs.State egenskaperna och DrawListViewSubItemEventArgs.ItemState . Mer information finns i ListView.DrawItem händelserna och ListView.DrawSubItem .