ListViewItemStates 列挙型

定義

ListViewItem に設定できる状態を表す定数を定義します。Defines constants that represent the possible states of a ListViewItem.

この列挙体には FlagsAttribute 属性があり、そのメンバー値のビットごとの組み合わせが可能になります。

public enum class ListViewItemStates
[System.Flags]
public enum ListViewItemStates
type ListViewItemStates = 
Public Enum ListViewItemStates
継承
ListViewItemStates
属性

フィールド

Checked 8

項目がチェックされています。The item is checked.

Default 32

項目が既定の状態です。The item is in its default state.

Focused 16

この項目にフォーカスがあります。The item has focus.

Grayed 2

この項目は無効です。The item is disabled.

Hot 64

項目の上にマウス ポインターがあります。The item is currently under the mouse pointer.

Indeterminate 256

項目が中間状態です。The item is in an indeterminate state.

Marked 128

項目がマークされています。The item is marked.

Selected 1

項目が選択されています。The item is selected.

ShowKeyboardCues 512

項目にショートカット キーが表示されます。The item should indicate a keyboard shortcut.

次の例は、ListView コントロールにカスタム描画を提供する方法を示しています。The following example demonstrates how to provide custom drawing for a ListView control. この例の ListView コントロールには、グラデーションの背景があります。The ListView control in the example has a gradient background. 負の値を持つサブ項目は、赤の前景と黒の背景を持ちます。Subitems with negative values have a red foreground and a black background.

ListView.DrawItem イベントのハンドラーは、項目全体と列ヘッダー行の背景を描画します。A handler for the ListView.DrawItem event draws the background for entire items and for the column headers row. ListView.DrawSubItem イベントのハンドラーは、テキスト値と、負の値を持つサブ項目のテキストと背景の両方を描画します。A handler for the ListView.DrawSubItem event draws the text values and both the text and background for subitems that have negative values.

ContextMenu コンポーネントを使用すると、詳細ビューとリストを切り替えることができます。A ContextMenu component provides a way to switch between the details view and the list. リストビューでは、ListView.DrawItem イベントのみが発生します。In the list view, only the ListView.DrawItem event is fired. この場合、テキストと背景は両方とも ListView.DrawItem イベントハンドラーに描画されます。In this case, the text and background are both drawn in the ListView.DrawItem event handler.

完全な例については、ListView.OwnerDraw リファレンスのトピックを参照してください。For the complete example, see the ListView.OwnerDraw reference topic.

// 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 プロパティによって使用されます。This enumeration is used by the DrawListViewItemEventArgs.State and DrawListViewSubItemEventArgs.ItemState properties. 詳細については、「ListView.DrawItem イベントと ListView.DrawSubItem イベント」を参照してください。For more information, see the ListView.DrawItem and ListView.DrawSubItem events.

適用対象

こちらもご覧ください