Procedura: rilevare gli elementi selezionati nel controllo CheckedListBox di Windows Form
Quando si presentano dati in un controllo Windows FormCheckedListBox, è possibile scorrere la raccolta archiviata nella CheckedItems proprietà oppure eseguire un'istruzione nell'elenco usando il GetItemChecked metodo per determinare quali elementi vengono controllati. Il GetItemChecked metodo accetta un numero di indice dell'elemento come argomento e restituisce true
o false
. Contrariamente a quanto previsto, le SelectedItems proprietà e SelectedIndices non determinano quali elementi vengono controllati; determinano quali elementi sono evidenziati.
Per determinare gli elementi selezionati in un controllo CheckedListBox
Scorrere la CheckedItems raccolta, a partire da 0 perché la raccolta è in base zero. Si noti che questo metodo ti darà il numero di elemento nell'elenco di elementi selezionati, non l'elenco complessivo. Pertanto, se il primo elemento dell'elenco non è selezionato e il secondo elemento viene selezionato, il codice seguente visualizzerà testo simile a "Elemento controllato 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); }
- oppure-
Scorrere la Items raccolta, a partire da 0 perché la raccolta è in base zero e chiamare il GetItemChecked metodo per ogni elemento. Si noti che questo metodo ti darà il numero di elemento nell'elenco complessivo, quindi se il primo elemento nell'elenco non è selezionato e il secondo elemento viene selezionato, verrà visualizzato qualcosa come "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);
Vedi anche
.NET Desktop feedback