Como determinar itens verificados no controle CheckedListBox dos Windows Forms
Ao apresentar dados em um controle CheckedListBox do Windows Forms, você pode iterar por meio da coleção armazenada na propriedade CheckedItems ou percorrer a lista usando o método GetItemChecked para determinar quais itens são verificados. O método GetItemChecked usa um número de índice de item como argumento e retorna true
ou false
. Ao contrário do esperado, as propriedades SelectedItems e SelectedIndices não determinam quais itens são verificados; eles determinam quais itens estão realçados.
Para determinar itens verificados em um controle CheckedListBox
Percorrer a coleção CheckedItems, começando do 0, já que a coleção é indexada a partir de zero. Observe que esse método fornecerá o número do item na lista de itens verificados, não a lista geral. Portanto, se o primeiro item da lista não estiver marcado e o segundo item for verificado, o código a seguir exibirá texto como "Item Marcado 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); }
- ou-
Percorra a coleção Items, começando em 0, já que a coleção é baseada em zero e chame o método GetItemChecked para cada item. Observe que esse método fornecerá o número do item na lista geral, portanto, se o primeiro item da lista não estiver marcado e o segundo item estiver marcado, ele exibirá algo como "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);
Consulte também
.NET Desktop feedback