Teilen über


ListView.ItemCheck Ereignis

Definition

Tritt ein, wenn der Aktivierungszustand eines Elements geändert wird.

public:
 event System::Windows::Forms::ItemCheckEventHandler ^ ItemCheck;
public event System.Windows.Forms.ItemCheckEventHandler ItemCheck;
public event System.Windows.Forms.ItemCheckEventHandler? ItemCheck;
member this.ItemCheck : System.Windows.Forms.ItemCheckEventHandler 
Public Custom Event ItemCheck As ItemCheckEventHandler 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird ein überprüftes ListView Steuerelement veranschaulicht, das das ItemCheck Ereignis behandelt. Die -Methode verwendet die ItemCheckEventArgs.CurrentValue Eigenschaften und ItemCheckEventArgs.Index , um den Preis der ausgewählten Menüelemente abzurufen und zu verorten. Fügen Sie zum Ausführen dieses Beispiels den folgenden Code in ein Formular ein, das einen ListView namens und einen TextBox mit dem Namen Textbox1ListView1 enthält. Rufen Sie die InitializeListView -Methode aus dem Konstruktor oder Load der Methode des Formulars auf. Stellen Sie sicher, dass das ItemCheck Ereignis dem Ereignishandler in diesem Beispiel zugeordnet ist.

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

Hinweise

Die CheckBoxes -Eigenschaft muss auf true festgelegt werden, damit Kontrollkästchen neben jedem Element im ListView Steuerelement angezeigt werden. Das ItemCheck Ereignis tritt auf, wenn sich der Überprüfungszustand eines Elements ändert oder wenn die CheckBoxes -Eigenschaft auf truefestgelegt ist. Sie können einen Ereignishandler für das ItemCheck Ereignis erstellen, um Aufgaben wie das Ändern des Zustands eines Elementssymbols oder einer anderen anwendungsspezifischen Aufgabe bei jeder Überprüfung eines Elements im ListView Steuerelement auszuführen.

Hinweis

Wenn das Fensterhandle nicht erstellt wurde, wenn das ItemCheck Ereignis ausgelöst wird, wird das Ereignis verzögert. Sobald das Fensterhandle erstellt wurde (wenn das Formular angezeigt wird), werden alle verzögerten ItemCheck Ereignisse ausgelöst. Weitere Informationen finden Sie unter HandleCreated.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für:

Weitere Informationen