ListView.ItemCheck イベント
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As ListView Dim handler As ItemCheckEventHandler AddHandler instance.ItemCheck, handler
public: event ItemCheckEventHandler^ ItemCheck { void add (ItemCheckEventHandler^ value); void remove (ItemCheckEventHandler^ value); }

ListView コントロールの各項目の横にチェック ボックスを表示するには、CheckBoxes プロパティが true に設定されている必要があります。ItemCheck イベントは、項目のチェックの状態が変更された場合、または CheckBoxes プロパティが true に設定されている場合に発生します。ItemCheck イベントのイベント ハンドラを作成すると、ListView コントロールで項目がチェックされるたびに、項目のアイコンの状態の変更などのタスクや、別のアプリケーション固有のタスクを実行できます。
![]() |
---|
コントロールの作成時に ListView コントロールの Visible プロパティが false に設定された場合、ItemCheck イベントは発生しません。コントロールが表示されると、Visible プロパティの状態にかかわらずイベントが発生します。 |

チェックされている ListView コントロールが ItemCheck イベントを処理するようすを次のコード例に示します。このメソッドは ItemCheckEventArgs.CurrentValue プロパティと ItemCheckEventArgs.Index プロパティを使用して、選択されているメニュー項目の価格を取得して計算します。この例を実行するには、 ListView1 という名前の ListView と、Textbox1 という名前の TextBox を含むフォームに次のコードを貼り付けます。そして、フォームのコンストラクタまたはLoad メソッドから InititalizeListView メソッドを呼び出します。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 <br /><span space="preserve">...</span><br /> 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
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); } <br /><span space="preserve">...</span><br /> 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(); }
void InitializeListView() { this->ListView1 = gcnew 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 = System::Drawing::Point( 0, 0 ); this->ListView1->Size = 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 = gcnew ColumnHeader; columnHeader1->Text = "Breakfast Choices"; columnHeader1->TextAlign = HorizontalAlignment::Left; columnHeader1->Width = 146; ColumnHeader^ columnHeader2 = gcnew ColumnHeader; columnHeader2->Text = "Price Each"; columnHeader2->TextAlign = HorizontalAlignment::Center; columnHeader2->Width = 142; this->ListView1->Columns->Add( columnHeader1 ); this->ListView1->Columns->Add( columnHeader2 ); array<String^>^foodList = {"Juice","Coffee","Cereal & Milk","Fruit Plate","Toast & Jelly","Bagel & Cream Cheese"}; array<String^>^foodPrice = {"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 = gcnew 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 ); } <br /><span space="preserve">...</span><br /> double price; // Handles the ItemCheck event. The method uses the CurrentValue // property of the ItemCheckEventArgs to retrieve and tally the // price of the menu items selected. 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(); }
private void InitializeListView() { this.listView1 = new System.Windows.Forms.ListView(); // Set properties such as BackColor and DockStyle and Location. this.listView1.set_BackColor(System.Drawing.SystemColors.get_Control()); this.listView1.set_Dock(System.Windows.Forms.DockStyle.Top); this.listView1.set_Location(new System.Drawing.Point(0, 0)); this.listView1.set_Size(new System.Drawing.Size(292, 130)); this.listView1.set_View(System.Windows.Forms.View.Details); this.listView1.set_HideSelection(false); // Allow the user to select multiple items. this.listView1.set_MultiSelect(true); // Show CheckBoxes in the ListView. this.listView1.set_CheckBoxes(true); //Set the column headers and populate the columns. listView1.set_HeaderStyle(ColumnHeaderStyle.Nonclickable); ColumnHeader columnHeader1 = new ColumnHeader(); columnHeader1.set_Text("Breakfast Choices"); columnHeader1.set_TextAlign(HorizontalAlignment.Left); columnHeader1.set_Width(146); ColumnHeader columnHeader2 = new ColumnHeader(); columnHeader2.set_Text("Price Each"); columnHeader2.set_TextAlign(HorizontalAlignment.Center); columnHeader2.set_Width(142); this.listView1.get_Columns().Add(columnHeader1); this.listView1.get_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((String)foodList.get_Item(count)); listItem.get_SubItems().Add((String)foodPrice.get_Item(count)); listView1.get_Items().Add(listItem); } //Call EndUpdate when you finish adding items to the ListView. listView1.EndUpdate(); this.get_Controls().Add(this.listView1); } //InitializeListView <br /><span space="preserve">...</span><br /> private 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.get_CurrentValue().Equals(CheckState.Unchecked)) { price += System.Double.Parse( this.listView1.get_Items().get_Item(e.get_Index()). get_SubItems().get_Item(1).get_Text()); } else { if (e.get_CurrentValue().Equals(CheckState.Checked)) { price -= System.Double.Parse(this.listView1.get_Items(). get_Item(e.get_Index()).get_SubItems().get_Item(1). get_Text()); } } // Output the price to TextBox1. textBox1.set_Text(((System.Double)price).ToString()); } //listView1_ItemCheck1

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からListView.ItemCheck イベントを検索する場合は、下記のリンクをクリックしてください。

- ListView.ItemCheck イベントのページへのリンク