다음을 통해 공유


ItemCheckEventArgs 클래스

CheckedListBoxListView 컨트롤의 ItemCheck 이벤트에 대한 데이터를 제공합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
<ComVisibleAttribute(True)> _
Public Class ItemCheckEventArgs
    Inherits EventArgs
‘사용 방법
Dim instance As ItemCheckEventArgs
[ComVisibleAttribute(true)] 
public class ItemCheckEventArgs : EventArgs
[ComVisibleAttribute(true)] 
public ref class ItemCheckEventArgs : public EventArgs
/** @attribute ComVisibleAttribute(true) */ 
public class ItemCheckEventArgs extends EventArgs
ComVisibleAttribute(true) 
public class ItemCheckEventArgs extends EventArgs

설명

ItemCheck 이벤트는 확인 목록 상자에 있는 항목의 선택된 상태가 변경되면 발생합니다. ItemCheckEventArgs 클래스는 변경할 항목의 인덱스, 항목 확인란의 현재 값 및 확인란에 설정할 새 값을 지정합니다.

이벤트 처리에 대한 자세한 내용은 이벤트 사용을 참조하십시오.

예제

다음 예제에서는 ListView.ItemChecked 이벤트를 처리하는 확인란 표시 ListView 컨트롤을 보여 줍니다. 이 메서드는 ItemCheckEventArgs 개체의 CurrentValueIndex 속성을 사용하여 선택된 메뉴 항목의 가격을 검색하고 표로 만듭니다. 이 예제를 실행하려면 ListView1이라는 ListViewTextbox1이라는 TextBox가 들어 있는 폼에 다음 코드를 붙여넣고 폼의 생성자나 Load 메서드에서 InititalizeListView 메서드를 호출합니다. 모든 이벤트가 해당 이벤트 처리 메서드와 연결되도록 합니다.

    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
 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();
    }
   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 );
   }

...
   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

...
    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

상속 계층 구조

System.Object
   System.EventArgs
    System.Windows.Forms.ItemCheckEventArgs

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

ItemCheckEventArgs 멤버
System.Windows.Forms 네임스페이스
CheckedListBox 클래스
CheckedListBox.ItemCheck 이벤트