des éléments non contrôlables dans CheckedListBox?
-
03-07-2019 - |
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.
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.