Question

Dans .NET Framework, est-il possible de définir certains des éléments de la CheckedListBox comme "non contrôlables" ? Je ne veux pas permettre à l'utilisateur de vérifier à nouveau les mêmes éléments et de les ajouter à une autre liste existante.

J'espère que je suis clair. Merci d'avance.

Était-ce utile?

La solution

Je définirais ces éléments comme "Indéterminé". dans le code, puis écrasez le "NewValue" propriété de l'événement ItemCheck lorsque l'utilisateur tente de les cocher / décocher:

public Form1()
{
    InitializeComponent();
    checkedListBox1.Items.Add("Can't check me", CheckState.Indeterminate);
}

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (e.CurrentValue == CheckState.Indeterminate)
    {
        e.NewValue = CheckState.Indeterminate;
    }
}

Le " Ne peux pas me vérifier " L'élément de CheckedListBox ne peut pas être modifié, car chaque fois que l'utilisateur tente de le vérifier / le décocher, le gestionnaire d'événements le rétablit. Vous ne voyez même pas la mise à jour de l'interface utilisateur en conséquence.

Autres conseils

Le code de Matt est bon.

Pourtant, pourquoi avoir un élément dans la liste de sélection sans le laisser être sélectionné?
Je veux dire pourquoi avoir cet élément dans la liste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top