Compartilhar via


Como determinar itens verificados no controle CheckedListBox dos Windows Forms

Ao apresentar dados em um controle do Windows Forms CheckedListBox, 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 estão selecionados. O GetItemChecked método usa um número de índice de item como seu argumento e retorna true ou false. Ao contrário do que você pode esperar, as propriedades SelectedItems e SelectedIndices não determinam quais itens são marcados; elas determinam quais itens estão realçados.

Para determinar itens verificados em um controle CheckedListBox

  1. Percorrer a CheckedItems coleção, começando do zero, já que a coleção é baseada em 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 -
  2. Percorra a Items coleção, começando em 0, já que a coleção é baseada em zero e chame o GetItemChecked método 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