Sdílet prostřednictvím


Postupy: Určení zaškrtnutých položek v ovládacím prvku Windows Forms CheckedListBox

Při prezentaci dat v ovládacím prvku model Windows Forms CheckedListBox můžete buď iterovat kolekcí uloženou CheckedItems ve vlastnosti, nebo procházet seznam pomocí GetItemChecked metody k určení, které položky jsou zaškrtnuté. Metoda GetItemChecked přebírá číslo indexu položky jako argument a vrátí true nebo false. Na rozdíl od toho, co byste mohli očekávat, a SelectedIndices vlastnosti nezjišťují, SelectedItems které položky jsou zaškrtnuté; určují, které položky jsou zvýrazněny.

Určení zaškrtnutých položek v ovládacím prvku CheckedListBox

  1. Iterujte kolekci CheckedItems počínaje hodnotou 0, protože kolekce je založená na nule. Všimněte si, že tato metoda vám poskytne číslo položky v seznamu zaškrtnutých položek, nikoli celkový seznam. Takže pokud první položka v seznamu není zaškrtnutá a druhá položka je zaškrtnutá, zobrazí se následující kód jako "Checked Item 1 = MyListItem2".

    ' 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);  
    }  
    
    • Nebo-
  2. Projděte Items kolekci, počínaje hodnotou 0, protože kolekce je založená na nule, a volejte metodu GetItemChecked pro každou položku. Všimněte si, že tato metoda vám poskytne číslo položky v celkovém seznamu, takže pokud první položka v seznamu není zaškrtnutá a druhá položka je zaškrtnutá, zobrazí se něco jako "Item 2 = MyListItem2".

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

Viz také