ItemCheckEventArgs クラス
CheckedListBox コントロールと ListView コントロールの ItemCheck イベントのデータを提供します。
この型のすべてのメンバの一覧については、ItemCheckEventArgs メンバ を参照してください。
System.Object
System.EventArgs
System.Windows.Forms.ItemCheckEventArgs
<ComVisible(True)>
Public Class ItemCheckEventArgs Inherits EventArgs
[C#]
[ComVisible(true)]
public class ItemCheckEventArgs : EventArgs
[C++]
[ComVisible(true)]
public __gc class ItemCheckEventArgs : public EventArgs
[JScript]
public
ComVisible(true)
class ItemCheckEventArgs extends EventArgs
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
リスト ボックスでの項目のチェック状態が変わると、 ItemCheck イベントが発生します。 ItemCheckEventArgs クラスは、変更する項目のインデックス、項目のチェック ボックスの現在値、およびチェック ボックスに設定する新しい値を指定します。
イベント処理の詳細については、「 イベントの利用 」を参照してください。
使用例
[Visual Basic, C#] チェックされている ListView コントロールが ItemCheck イベントを処理するようすを次のコード例に示します。このメソッドは ItemCheckEventArgs オブジェクトの CurrentValue プロパティを使用して、選択されているメニュー項目の価格を取得して計算します。この例を実行するには、ListView1 という名前の ListView と Textbox1 という名前の TextBox が配置されているフォームに、次のコードを貼り付けます。そして、フォームのコンストラクタまたは Load メソッドから InititalizeListView メソッドを呼び出します。ItemCheck イベントは、その ItemCheck イベントのイベント処理メソッドに必ず関連付けるようにしてください。
Private Sub InitializeListView()
Me.ListView1 = New System.Windows.Forms.ListView
' Set properties such as BackColor, Location and Size
Me.ListView1.BackColor = System.Drawing.SystemColors.Control
Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
Me.ListView1.Location = New System.Drawing.Point(0, 0)
Me.ListView1.Size = New System.Drawing.Size(292, 130)
Me.ListView1.View = System.Windows.Forms.View.Details
Me.ListView1.HideSelection = False
' Allow user to select multiple items.
Me.ListView1.MultiSelect = True
' Show check boxes in the ListView.
Me.ListView1.CheckBoxes = True
'Set the column headers and populate the columns.
ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
Dim columnHeader1 As New ColumnHeader
With columnHeader1
.Text = "Breakfast Choices"
.TextAlign = HorizontalAlignment.Left
.Width = 146
End With
Dim columnHeader2 As New ColumnHeader
With columnHeader2
.Text = "Price Each"
.TextAlign = HorizontalAlignment.Center
.Width = 142
End With
Me.ListView1.Columns.Add(columnHeader1)
Me.ListView1.Columns.Add(columnHeader2)
Dim foodList() As String = New String() {"Juice", "Coffee", _
"Cereal & Milk", "Fruit Plate", "Toast & Jelly", _
"Bagel & Cream Cheese"}
Dim foodPrice() As String = New String() {"1.09", "1.09", "2.19", _
"2.79", "2.09", "2.69"}
Dim count As Integer
' Members are added one at a time, so call BeginUpdate to ensure
' the list is painted only once, rather than as each list item is added.
ListView1.BeginUpdate()
For count = 0 To foodList.Length - 1
Dim listItem As New ListViewItem(foodList(count))
listItem.SubItems.Add(foodPrice(count))
ListView1.Items.Add(listItem)
Next
'Call EndUpdate when you finish adding items to the ListView.
ListView1.EndUpdate()
Me.Controls.Add(Me.ListView1)
End Sub
. . .
Dim price As Double = 0.0
' Handles the ItemChecked event. The method uses the CurrentValue property
' of the ItemCheckEventArgs to retrieve and tally the price of the menu
' items selected.
Private Sub ListView1_ItemCheck1(ByVal sender As Object, _
ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
Handles ListView1.ItemCheck
If (e.CurrentValue = CheckState.Unchecked) Then
price += Double.Parse( _
Me.ListView1.Items(e.Index).SubItems(1).Text)
ElseIf (e.CurrentValue = CheckState.Checked) Then
price -= Double.Parse( _
Me.ListView1.Items(e.Index).SubItems(1).Text)
End If
' Output the price to TextBox1.
TextBox1.Text = CType(price, String)
End Sub
[C#]
private void InitializeListView()
{
this.ListView1 = new System.Windows.Forms.ListView();
// Set properties such as BackColor and DockStyle and Location.
this.ListView1.BackColor = System.Drawing.SystemColors.Control;
this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
this.ListView1.Location = new System.Drawing.Point(0, 0);
this.ListView1.Size = new System.Drawing.Size(292, 130);
this.ListView1.View = System.Windows.Forms.View.Details;
this.ListView1.HideSelection = false;
// Allow the user to select multiple items.
this.ListView1.MultiSelect = true;
// Show CheckBoxes in the ListView.
this.ListView1.CheckBoxes = true;
//Set the column headers and populate the columns.
ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
ColumnHeader columnHeader1 = new ColumnHeader();
columnHeader1.Text = "Breakfast Choices";
columnHeader1.TextAlign = HorizontalAlignment.Left;
columnHeader1.Width = 146;
ColumnHeader columnHeader2 = new ColumnHeader();
columnHeader2.Text = "Price Each";
columnHeader2.TextAlign = HorizontalAlignment.Center;
columnHeader2.Width = 142;
this.ListView1.Columns.Add(columnHeader1);
this.ListView1.Columns.Add(columnHeader2);
string[] foodList = new string[]{"Juice", "Coffee",
"Cereal & Milk", "Fruit Plate", "Toast & Jelly",
"Bagel & Cream Cheese"};
string[] foodPrice = new string[]{"1.09", "1.09", "2.19",
"2.79", "2.09", "2.69"};
int count;
// Members are added one at a time, so call BeginUpdate to ensure
// the list is painted only once, rather than as each list item is added.
ListView1.BeginUpdate();
for(count = 0; count < foodList.Length; count++)
{
ListViewItem listItem = new ListViewItem(foodList[count]);
listItem.SubItems.Add(foodPrice[count]);
ListView1.Items.Add(listItem);
}
//Call EndUpdate when you finish adding items to the ListView.
ListView1.EndUpdate();
this.Controls.Add(this.ListView1);
}
. . .
double price = 0.0;
// Handles the ItemCheck event. The method uses the CurrentValue
// property of the ItemCheckEventArgs to retrieve and tally the
// price of the menu items selected.
private void ListView1_ItemCheck1(object sender,
System.Windows.Forms.ItemCheckEventArgs e)
{
if (e.CurrentValue==CheckState.Unchecked)
{
price += Double.Parse(
this.ListView1.Items[e.Index].SubItems[1].Text);
}
else if((e.CurrentValue==CheckState.Checked))
{
price -= Double.Parse(
this.ListView1.Items[e.Index].SubItems[1].Text);
}
// Output the price to TextBox1.
TextBox1.Text = price.ToString();
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Windows.Forms
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
参照
ItemCheckEventArgs メンバ | System.Windows.Forms 名前空間 | CheckedListBox | ItemCheck