2008-12-30 5 views
4

Dans le framework .NET, est-il possible de définir certains éléments du CheckedListBox comme "non vérifiables"? Je ne veux pas permettre à l'utilisateur de vérifier à nouveau les mêmes éléments et de les ajouter à une autre liste existante.éléments non vérifiables dans CheckedListBox?

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

Répondre

7

Je mettrais ces éléments « indéterminés » dans le code, puis remplacer la propriété « NewValue » de l'événement ItemCheck lorsque l'utilisateur tente de vérifier/les 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; 
    } 
} 

« Can not check me "L'élément dans CheckedListBox ne peut pas être modifié, car chaque fois que l'utilisateur essaie de le cocher/décocher, le gestionnaire d'événements le modifie. Vous ne voyez même pas la mise à jour de l'interface utilisateur en conséquence.

-1

Le code de Matt est bon.

Cependant, pourquoi avoir un élément dans la liste de contrôle et ne pas le laisser sélectionner?
Je veux dire pourquoi avoir cet élément dans la liste.

+0

En fait, ce que je pense est quelque chose comme ceci: Nous avons deux listes. L'utilisateur peut sélectionner et ajouter des choses de la liste un à la liste deux. MAIS, je ne veux pas laisser l'utilisateur ajouter le même élément à la deuxième liste pour une deuxième fois. En d'autres termes, la liste 2 devrait être composée d'éléments uniq de list1. – fantoman

+1

Même si vous ne pouvez pas penser à une raison pour laquelle VOUS voudriez un élément non enregistrable dans un CheckedListBox, pouvez-vous imaginer que quelque part, parfois, quelqu'un a une bonne raison pour cela? Certaines personnes préfèrent se conformer. Certaines personnes préfèrent penser en dehors de la boîte. Chaque fois que quelqu'un dit "Pourquoi voudriez-vous faire ça?" Je peux toujours penser aux raisons pour lesquelles ils pourraient. –

Questions connexes