Freigeben über


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

Wenn Sie Daten in einem Windows Forms-Steuerelement CheckedListBox darstellen, können Sie entweder die in der CheckedItems-Eigenschaft gespeicherte Auflistung durchlaufen oder die Liste mithilfe der GetItemChecked-Methode durchlaufen, um festzustellen, welche Elemente aktiviert sind. Die GetItemChecked-Methode verwendet eine Elementindexnummer als Argument und gibt true oder false zurück. Anders als möglicherweise erwartet, bestimmen die Eigenschaften SelectedItems und SelectedIndices nicht, welche Elemente aktiviert sind, sondern welche Elemente hervorgehoben sind.

So bestimmen Sie die aktivierten Elemente in einem CheckedListBox-Steuerelement

  1. Durchlaufen Sie die CheckedItems-Auflistung beginnend mit 0, da die Auflistung nullbasiert ist. Beachten Sie, dass diese Methode die Elementnummer in der Liste der aktivieren Elemente und nicht in der Gesamtliste zurückgibt. Wenn also das erste Element in der Liste nicht aktiviert und das zweite Element aktiviert ist, zeigt der folgende Code einen Text wie "Checked Item 1 = MyListItem2" an.

    ' 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 ; 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->CheckedItems->Count != 0)  
    {  
       // If so, loop through all checked items and print results.  
       String ^ s = "";  
       for(int x = 0; x < checkedListBox1->CheckedItems->Count; x++)  
       {  
          s = String::Concat(s, "Checked Item ", (x+1).ToString(),  
             " = ", checkedListBox1->CheckedItems[x]->ToString(),  
             "\n");  
       }  
       MessageBox::Show(s);  
    }  
    
    • ODER
  2. Durchlaufen Sie die Items-Auflistung beginnend bei 0, da die Auflistung nullbasiert ist, und rufen Sie die GetItemChecked-Methode für jedes Element auf. Beachten Sie, dass diese Methode die Elementnummer in der Gesamtliste zurückgibt. Wenn das erste Element in der Liste nicht aktiviert und das zweite Element aktiviert ist, wird ein Text wie "Item 2 = MyListItem2" angezeigt.

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

Weitere Informationen