ListViewItemStates Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет константы, представляющие возможные состояния объекта ListViewItem.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
[<System.Flags>]
type ListViewItemStates =
Public Enum ListViewItemStates
- Наследование
- Атрибуты
Поля
Checked | 8 | Для элемента установлен флажок. |
Default | 32 | Элемент находится в состоянии по умолчанию. |
Focused | 16 | Элемент имеет фокус. |
Grayed | 2 | Элемент отключен. |
Hot | 64 | Элемент находится в текущий момент под указателем мыши. |
Indeterminate | 256 | Элемент находится в неопределенном состоянии. |
Marked | 128 | Элемент помечен. |
Selected | 1 | Элемент выбран. |
ShowKeyboardCues | 512 | Элемент должен показывать сочетание клавиш. |
Примеры
В следующем примере показано, как предоставить пользовательский рисунок для ListView элемента управления . Элемент ListView управления в примере имеет градиентный фон. Подэлементы с отрицательными значениями имеют красный передний план и черный фон.
Обработчик события ListView.DrawItem рисует фон для целых элементов и строки заголовков столбцов. Обработчик события ListView.DrawSubItem рисует текстовые значения, а также текст и фон для подэлементов, имеющих отрицательные значения.
Компонент ContextMenu предоставляет способ переключения между представлением сведений и списком. В представлении списка запускается только ListView.DrawItem событие . В этом случае текст и фон рисуются в обработчике ListView.DrawItem событий.
Полный пример см. в справочном 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
Комментарии
Это перечисление используется свойствами DrawListViewItemEventArgs.State и DrawListViewSubItemEventArgs.ItemState . Дополнительные сведения см. в разделе о событиях ListView.DrawItem и ListView.DrawSubItem .