Guide pratique pour déterminer les éléments vérifiés dans le contrôle CheckedListBox Windows Forms

Lors de la présentation de données dans un contrôle windows Forms CheckedListBox, vous pouvez effectuer une itération dans la collection stockée dans la propriété CheckedItems, ou parcourir la liste à l’aide de la méthode GetItemChecked pour déterminer quels éléments sont vérifiés. La méthode GetItemChecked prend un numéro d’index d’élément comme argument et retourne true ou false. Contrairement à ce que vous pourriez vous attendre, les propriétés SelectedItems et SelectedIndices ne déterminent pas quels éléments sont vérifiés ; ils déterminent quels éléments sont mis en surbrillance.

Pour déterminer les éléments vérifiés dans un contrôle CheckedListBox

  1. Effectuez une itération au sein de la collection CheckedItems, en commençant à 0, car la collection est basée sur zéro. Notez que cette méthode vous donne le numéro d’élément dans la liste des éléments vérifiés, et non la liste globale. Par conséquent, si le premier élément de la liste n’est pas vérifié et que le deuxième élément est activé, le code ci-dessous affiche le texte tel que « Élément vérifié 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. Parcourez la collection Items, en commençant à 0, car la collection est basée sur zéro et appelez la méthode GetItemChecked pour chaque élément. Notez que cette méthode vous donne le numéro d’élément dans la liste globale. Par conséquent, si le premier élément de la liste n’est pas vérifié et que le deuxième élément est activé, il affiche quelque chose comme « 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);
    

Voir aussi