J'ai remarqué que l'événement Click ou tout autre comportement de contrôle n'est pas toujours déclenché lorsqu'un contrôle contenu dans un ScrollableControl (Panel, etc.) est cliqué.Contrôles Windows Forms dans un ScrollableControl et des événements
Si le contrôle sur lequel vous avez cliqué n'a pas le focus et n'est que partiellement visible, il défile dans la vue. C'est ce à quoi je m'attends, cependant l'événement Click ne se déclenche pas ou aucun autre comportement de contrôle ne se produit.
Si le contrôle a déjà le focus et n'est que partiellement visible, les événements sont déclenchés. Case à cocher - Fait défiler l'affichage, l'état vérifié ne change pas. CheckedListBox - Fait défiler l'affichage, l'élément cliqué n'est pas sélectionné. TreeView - Défile dans la vue, le nœud cliqué n'est pas sélectionné. Bouton - Défile dans la vue, l'événement de clic ne se lève pas.
Pour reproduire cela, vous pouvez effectuer les opérations suivantes:
- Ajouter l'un des contrôles ci-dessus à un panneau
- Ajouter un gestionnaire d'événements pour Click, SelectedItemChanged, etc
- Redimensionner le formulaire afin que barres de défilement sont visibles sur le panneau
- Faites défiler le panneau pour que l'une des commandes soit partiellement visible
- Cliquez sur le contrôle partiellement visible
Y a-t-il un moyen de s'assurer que les événements se déclenchent?