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