Compartilhar via


Como: Determinar itens marcados no controle CheckedListBox do Windows Forms

Ao apresentar os dados em um Windows Forms CheckedListBox controle, você pode tanto iterar por meio da coleção armazenada na CheckedItems propriedade ou percorra a lista usando o GetItemChecked método para determinar quais itens estão checados. O GetItemChecked método usa um número de índice do item como seu argumento e retorna true ou false. Contrária às quais você pode esperar, o SelectedItems e SelectedIndices Propriedades não determinam quais itens estão marcados; Elas determinam quais itens são realçados.

Para determinar os itens selecionados em um controle CheckedListBox

  1. Iterar por meio de CheckedItems coleção, começando em 0, pois a coleção é baseada em zero. Observe que esse método lhe dará o número do item na lista de itens marcados, não na lista geral. Portanto, se o primeiro item na lista não estiver marcado e o segundo item é verificado, o código a seguir exibirá o texto como "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 - 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);
    }
    

    - ou -

  2. Percorra a Items coleção, começando em 0, pois a coleção é baseada em zero e a chamada a GetItemChecked método para cada item. Observe que esse método lhe fornecerá o número do item na lista geral, portanto, se o primeiro item na lista não estiver marcada e o segundo item é verificado, 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;
    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);
    

Consulte também

Outros recursos

Usado para opções da lista de controles do Windows Forms