ItemCheckEventArgs Class
Provides data for the ItemCheck event of the CheckedListBox and ListView controls.
For a list of all members of this type, see ItemCheckEventArgs Members.
System.Object
System.EventArgs
System.Windows.Forms.ItemCheckEventArgs
[Visual Basic] <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
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
The ItemCheck event occurs when the checked state of an item in a checked list box changes. The ItemCheckEventArgs class specifies the index of the item to change, the current value of the check box for the item, and the new value to set for the check box.
For more information about handling events, see Consuming Events.
Example
[Visual Basic, C#] The following code example demonstrates a checked ListView control that handles the ItemCheck event. The method uses the CurrentValue property of the ItemCheckEventArgs object to retrieve and tally the price of the menu items selected. To run this example paste the following code in a form containing a ListView named ListView1 and a TextBox named Textbox1. Call the InititalizeListView method from the form's constructor or Load method. Ensure the ItemCheck event is connected to its event-handling method in this example.
[Visual Basic] 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] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
See Also
ItemCheckEventArgs Members | System.Windows.Forms Namespace | CheckedListBox | ItemCheck