Freigeben über


So geht's: Bestimmte aktivierte Elemente im Windows Forms CheckedListBox-Steuerelement anzeigen

Beim Darstellen von Daten in einem Windows Forms-Steuerelement CheckedListBox können Sie entweder die in der CheckedItems Eigenschaft gespeicherte Auflistung durchlaufen oder die Liste mithilfe der GetItemChecked Methode durchlaufen, um zu bestimmen, welche Elemente überprüft werden. Die GetItemChecked Methode verwendet eine Elementindexnummer als Argument und gibt true zurück oder false. Im Gegensatz zu dem, was Sie erwarten könnten, bestimmen die Eigenschaften SelectedItems und SelectedIndices nicht, welche Elemente markiert werden. Sie bestimmen, welche Elemente hervorgehoben werden.

So bestimmen Sie markierte Elemente in einer CheckedListBox.

  1. Durchlaufen Sie die CheckedItems Sammlung, beginnend bei 0, da die Sammlung nullbasiert ist. Beachten Sie, dass Sie mit dieser Methode die Elementnummer in der Liste der überprüften Elemente und nicht die Gesamtliste erhalten. Wenn also das erste Element in der Liste nicht überprüft und das zweite Element überprüft wird, zeigt der folgende Code 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 mit dieser Methode die Elementnummer in der Gesamtliste angegeben wird. Wenn also das erste Element in der Liste nicht überprüft wird und das zweite Element aktiviert ist, wird etwas wie "Element 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);
    

Siehe auch