Question : Pourquoi fait du feu de checkedListBox checkchanged en ne cliquant pas sur l'article

J'emploie VB.Net 2008 sous une forme de fenêtres.  J'emploie un CheckedListBox qui a plusieurs articles dans elle.  Plusieurs articles sont vérifiés et pas vérifiés.   La partie étrange est quand je fais choisir un article, mais clique dessus la partie plus inférieure de la liste où il n'y a aucune rangée, il change l'état du checkbox même lorsque je ne suis pas n'importe où près du checkbox !   Comment fais j'arrêter ceci de l'événement.  Mes utilisateurs vont freak dehors s'ils voient le checkbox changer quand ils cliquent dessus le secteur blanc de CheckedListbox où il n'y a aucun article.   Le problème est cet événement met le feu à l'autre logique que je ne veux pas me produire à moins qu'ils veuillent dire vraiment pour vérifier l'article.  Je dois savoir quand ils vérifient vraiment la boîte pas sur l'espace blanc faux dans la boîte.   Nous pourrions employer HitTest sur d'autres commandes, mais HitTest n'est pas une option sur ce control

d'ailleurs CheckOnClick est placé au false

It semble ridicule que les événements d'ItemCheck et de SelectedValueChanged mettent le feu en cliquant sur l'espace blanc d'un CheckedListbox…   Je ne vois aucune manière d'emprisonner qu'un article a été vraiment vérifié/non réprimé.  Je ne veux pas cet événement mis le feu sur l'article choisi courant quand je clique dessus l'espace blanc aux points.  Ressemble à d'un bogue me, mais peut-être je suis absent quelque chose… le

I dois toujours pouvoir employer l'événement de SelectedIndexChange pour savoir quand un article est choisi, mais je dois également savoir quand un checkbox réel dans la commande est vérifié/non réprimé correctement pas en cliquant sur l'espace blanc au-dessous de l'aide d'items.

Any serait appreciated
class= de

Réponse : Pourquoi fait du feu de checkedListBox checkchanged en ne cliquant pas sur l'article

Vous pouvez hériter du CheckedListBox et empêcher l'action indésirable comme ceci :
(juste le coup « construction » et votre nouvelle commande devrait apparaître au dessus de la boîte à outils)
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
Classe publique MyCheckedListBox
    Hérite de CheckedListBox

    Const privé WM_LBUTTONDOWN comme nombre entier = &H201
    Const privé WM_LBUTTONUP comme nombre entier = &H202
    Const privé WM_LBUTTONDBLCLK comme nombre entier = &H203

    Protégé dépasse WndProc secondaire (ByRef m comme System.Windows.Forms.Message)
        Choisir le cas m.Msg
            Enfermer WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK
                Obscurcir la pinte comme point = Me.PointToClient (Cursor.Position)
                Pour I comme nombre entier = Me.TopIndex à Me.Items.Count - 1
                    Si Me.GetItemRectangle (i). Contient (pinte) alors
                        MyBase.WndProc (m)
                        Sortir le sous-marin
                    Finir si
                Après
                Sortir le sous-marin 'a laissé le clic s'est produit dans l'espace blanc : supprimer l'action de défaut

        Finir choisi
        MyBase.WndProc (m)
    Finir le sous-marin

Finir la classe
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us