81 votes

Comment vérifier un élément de CheckListBox en un seul clic ?

Je suis en train de coder Windows Forms en C# et en utilisant CheckListBox Contrôle.

Comment vérifier un élément de CheckListBox en un seul clic ?

178voto

rahul Points 84185

Je pense que vous cherchez

CheckOnClick propriété

le régler sur vrai

Obtient ou définit une valeur indiquant si la case à cocher doit être basculer lorsqu'un élément est sélectionné.

9voto

daniele3004 Points 62

Définissez la propriété au moment de la conception de la manière suivante

enter image description here

ou par code :

CheckedListBox.CheckOnClick = true;

3voto

Scope Creep Points 497

Je viens de résoudre un problème où j'avais défini CheckOnClick sur True via le concepteur, mais l'interface utilisateur nécessitait toujours un second clic pour vérifier les éléments. J'ai découvert que, pour une raison quelconque, le fichier du concepteur n'était pas mis à jour lorsque je modifiais la valeur. Pour résoudre ce problème, je suis allé dans le fichier du concepteur et j'ai ajouté la ligne suivante

this.Product_Group_CheckedListBox.CheckOnClick = true;

Après cela, tout a fonctionné comme prévu. Je ne sais pas pourquoi le concepteur ne s'est pas mis à jour, mais cette solution de contournement aidera peut-être quelqu'un.

2voto

tjmaher Points 51

Vous pouvez également utiliser une case à cocher extérieure à la CheckListBox pour cocher/décocher tous les éléments. Sur le même formulaire, ajoutez une case à cocher près de la CheckedListBox et nommez-la CkCheckAll. Ajoutez l'événement Click pour la CheckBox (que je préfère à l'événement CheckChanged). Il y a également un bouton (BtnAdd) à côté de la CheckedListBox qui ajoutera tous les éléments cochés à une table de base de données. Il n'est activé que si au moins un élément de la CheckedListBox est coché.

    private void CkCheckAll_Click(object sender, EventArgs e)
    {
        CkCheckAll.Text = (CkCheckAll.Checked ? "Uncheck All" : "Check All");
        int num = Cklst_List.Items.Count;
        if (num > 0)
        { 
            for (int i = 0; i < num; i++)
            {
                Cklst_List.SetItemChecked(i, CkCheckAll.Checked);
            }
        }
        BtnAdd_Delete.Enabled = (Cklst_List.CheckedItems.Count > 0) ? true : false;
    }

1voto

Adiii Points 5246

Vous pouvez aussi tout vérifier en cliquant sur le bouton ou en cliquant sur la liste de contrôle

private void checkedListBox1_Click(object sender, EventArgs e)
{

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
        checkedListBox1.SetItemChecked(i, true);

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X