ListViewItemStates Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define constantes que representam os possíveis estados de um ListViewItem.
Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.
public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates =
Public Enum ListViewItemStates
- Herança
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| Selected | 1 | O item é selecionado. |
| Grayed | 2 | O item está desativado. |
| Checked | 8 | O item está verificado. |
| Focused | 16 | O objeto tem foco. |
| Default | 32 | O item está no seu estado padrão. |
| Hot | 64 | O item está atualmente debaixo do ponteiro do rato. |
| Marked | 128 | O item está marcado. |
| Indeterminate | 256 | O item está num estado indeterminado. |
| ShowKeyboardCues | 512 | O item deve indicar um atalho de teclado. |
Exemplos
O exemplo seguinte demonstra como fornecer desenho personalizado para um ListView controlo. O ListView controlo no exemplo tem um fundo em gradiente. Subitens com valores negativos têm um primeiro plano vermelho e um fundo preto.
Um handler para o ListView.DrawItem evento desenha o fundo para itens inteiros e para a linha dos cabeçalhos das colunas. Um handler para o ListView.DrawSubItem evento desenha os valores do texto e tanto o texto como o fundo para subitens que tenham valores negativos.
Um ContextMenu componente fornece uma forma de alternar entre a visualização de detalhes e a lista. Na vista de lista, apenas o ListView.DrawItem evento é disparado. Neste caso, o texto e o fundo são ambos desenhados no ListView.DrawItem gestor de eventos.
Para o exemplo completo, consulte o ListView.OwnerDraw tópico de referência.
// 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
Observações
Esta enumeração é usada pelas DrawListViewItemEventArgs.State propriedades e DrawListViewSubItemEventArgs.ItemState . Para mais informações, consulte e ListView.DrawItemListView.DrawSubItem eventos.