Teilen über


ListView.CheckedItems Eigenschaft

Definition

Ruft die gegenwärtig im Steuerelement aktivierten Elemente ab.

public:
 property System::Windows::Forms::ListView::CheckedListViewItemCollection ^ CheckedItems { System::Windows::Forms::ListView::CheckedListViewItemCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListView.CheckedListViewItemCollection CheckedItems { get; }
[<System.ComponentModel.Browsable(false)>]
member this.CheckedItems : System.Windows.Forms.ListView.CheckedListViewItemCollection
Public ReadOnly Property CheckedItems As ListView.CheckedListViewItemCollection

Eigenschaftswert

Eine ListView.CheckedListViewItemCollection, die die gegenwärtig aktivierten Elemente enthält. Wenn gegenwärtig keine Elemente aktiviert sind, wird eine leere ListView.CheckedListViewItemCollection zurückgegeben.

Attribute

Beispiele

Im folgenden Codebeispiel wird ein aktivierter ListView code veranschaulicht, der das ItemChecked -Ereignis behandelt. Im Beispiel wird die CheckedItems -Eigenschaft verwendet, um jedes Mal, wenn ein Element aktiviert oder deaktiviert wird, einen neuen Preis zu erstellen. 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.

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
// Handles the ItemChecked event.  The method loops through all the 
// checked items and tallies a new price each time an item is 
// checked or unchecked. It outputs the price to TextBox1.
void ListView1_ItemCheck2( Object^ /*sender*/, System::Windows::Forms::ItemCheckEventArgs^ e )
{
   double price = 0.0;
   ListView::CheckedListViewItemCollection^ checkedItems = ListView1->CheckedItems;
   System::Collections::IEnumerator^ myEnum = checkedItems->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      ListViewItem^ item = safe_cast<ListViewItem^>(myEnum->Current);
      price += Double::Parse( item->SubItems[ 1 ]->Text );
   }

   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();
}
// Handles the ItemChecked event.  The method loops through all the 
// checked items and tallies a new price each time an item is 
// checked or unchecked. It outputs the price to TextBox1.
private void ListView1_ItemCheck2(object sender, 
    System.Windows.Forms.ItemCheckEventArgs e)
{
    double price = 0.0;
    ListView.CheckedListViewItemCollection checkedItems = 
        ListView1.CheckedItems;
    
    foreach ( ListViewItem item in checkedItems )
    {
        price += Double.Parse(item.SubItems[1].Text);
    }
    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();
}
' Handles the ItemCheck event.  The method loops through all the 
' checked items and tallies a new price each time an item is 
' checked or unchecked. It outputs the price to TextBox1.
Private Sub ListView1_ItemCheck2(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
    Handles ListView1.ItemCheck

    Dim item As ListViewItem
    Dim price As Double = 0.0
    Dim checkedItems As ListView.CheckedListViewItemCollection = _
        ListView1.CheckedItems
    For Each item In checkedItems
        price += Double.Parse(item.SubItems(1).Text)
    Next
    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

Diese Eigenschaft ist nur nützlich, wenn die CheckBoxes -Eigenschaft des -Steuerelements ListView auf truefestgelegt ist. Die CheckedItems -Eigenschaft gibt eine Auflistung zurück, die alle Elemente enthält, die im -Steuerelement aktiviert sind. Weitere Informationen zum Bearbeiten der Elemente in der Auflistung finden Sie unter ListView.CheckedListViewItemCollection.

Wenn Sie eine Auflistung der Indexpositionen innerhalb ListView.ListViewItemCollection der der Elemente abrufen möchten, die ListView im -Steuerelement aktiviert sind, verwenden Sie anstelle der aktivierten Elemente die CheckedIndices -Eigenschaft.

Gilt für:

Weitere Informationen