Gewusst wie: Bestimmen der aktivierten Elemente im CheckedListBox-Steuerelement von Windows Forms

Aktualisiert: November 2007

Wenn Daten in einem CheckedListBox-Steuerelement von Windows Forms dargestellt werden, können Sie die in der CheckedItems-Eigenschaft gespeicherte Auflistung durchgehen oder die Liste schrittweise mit der GetItemChecked-Methode durcharbeiten, um zu bestimmen, welche Elemente aktiviert sind. Die GetItemChecked-Methode verwendet eine Elementindexnummer als Argument und gibt true oder false zurück. Anders als der Name vermuten lässt, bestimmen die SelectedItems-Eigenschaft und SelectedIndices-Eigenschaft nicht die Elemente, die aktiviert werden, sondern die Elemente, die hervorgehoben werden.

So bestimmen Sie die aktivierten Elemente in einem CheckedListBox-Steuerelement

  1. Gehen Sie die CheckedItems-Auflistung schrittweise durch. Sie beginnen dabei mit 0, da die Auflistung nullbasiert ist. Beachten Sie, dass diese Methode die Elementnummer in der Liste der aktivierten Elemente angibt, nicht die der Gesamtliste. Demnach zeigt der untenstehende Code den Text "Checked Item 1 = MyListItem2" an, wenn das zweite Element in der Liste aktiviert ist und das erste nicht.

    ' Determine if there are any items checked.
    If CheckedListBox1.CheckedItems.Count <> 0 Then
       ' If so, loop through all checked items and print results.
       Dim x As Integer
       Dim s As String = ""
       For x = 0 To CheckedListBox1.CheckedItems.Count - 1
          s = s & "Checked Item " & (x + 1).ToString & " = " & CheckedListBox1.CheckedItems(x).ToString & ControlChars.CrLf
       Next x
       MessageBox.Show(s)
    End If
    
    // Determine if there are any items checked.
    if(checkedListBox1.CheckedItems.Count != 0)
    {
       // If so, loop through all checked items and print results.
       string s = "";
       for(int x = 0; x <= checkedListBox1.CheckedItems.Count - 1 ; x++)
       {
          s = s + "Checked Item " + (x+1).ToString() + " = " + checkedListBox1.CheckedItems[x].ToString() + "\n";
       }
    MessageBox.Show (s);
    }
    
    // Determine if there are any items checked.
    if ( checkedListBox1.get_CheckedItems().get_Count() != 0  ) 
    {
       // If so, loop through all checked items and print results.
       System.String s = "";
       for(int x=0;x <= checkedListBox1.get_CheckedItems().get_Count() - 1;x++)
       {
          s = s + "Checked Item " + Convert.ToString(++x) + " = " +          checkedListBox1.get_CheckedItems().get_Item(x).ToString() + "\n";
       } 
       MessageBox.Show(s);
    }
    
    // Determine if there are any items checked.
    if(checkedListBox1->CheckedItems->Count != 0)
    {
       // If so, loop through all checked items and print results.
       String ^ s = "";
       for(int x = 0; x <= checkedListBox1->CheckedItems->Count - 1; x++)
       {
          s = String::Concat(s, "Checked Item ", (x+1).ToString(),
             " = ", checkedListBox1->CheckedItems[x]->ToString(),
             "\n");
       }
       MessageBox::Show(s);
    }
    

    - oder -

  2. Gehen Sie die Items-Auflistung schrittweise durch. Beginnen Sie dabei mit 0, da die Auflistung nullbasiert ist, und rufen Sie bei jedem Element die GetItemChecked-Methode auf. Beachten Sie, dass diese Methode die Elementnummer in der Gesamtliste zurückgibt. Wenn also das zweite Element in der Liste aktiviert ist und das erste nicht, zeigt der Code "Item 2 = MyListItem2" an.

    Dim i As Integer
    Dim s As String
    s = "Checked Items:" & ControlChars.CrLf
    For i = 0 To (CheckedListBox1.Items.Count - 1)
       If CheckedListBox1.GetItemChecked(i) = True Then
          s = s & "Item " & (i + 1).ToString & " = " & CheckedListBox1.Items(i).ToString & ControlChars.CrLf
       End If
    Next
    MessageBox.Show(s)
    
    int i;
    string s; 
    s = "Checked items:\n" ;
    for (i = 0; i <= (checkedListBox1.Items.Count-1); i++)
    {
       if (checkedListBox1.GetItemChecked(i))
       {
          s = s + "Item " + (i+1).ToString() + " = " + checkedListBox1.Items[i].ToString() + "\n";
       }
    }
    MessageBox.Show (s);
    
    int i;
    System.String s;
    s = "Checked items:\n";
    for(i = 0;i <= checkedListBox1.get_Items().get_Count() - 1;i ++)
    {
       if ( checkedListBox1.GetItemChecked(i)  ) 
       {
          s = s + "Item " + Convert.ToString(++i) + " = " + checkedListBox1.get_Item(i).ToString() + "\n";
       }
    } 
    MessageBox.Show(s);
    
    int i;
    String ^ s; 
    s = "Checked items:\n" ;
    for (i = 0; i <= (checkedListBox1->Items->Count-1); i++)
    {
       if (checkedListBox1->GetItemChecked(i))
       {
          s = String::Concat(s, "Item ", (i+1).ToString(), " = ",
             checkedListBox1->Item[i]->ToString(), "\n");
       }
    }
    MessageBox::Show(s);
    

Siehe auch

Weitere Ressourcen

Steuerelemente in Windows Forms zum Auflisten von Optionen