Comment obtenir keypressed, les événements keydown de DataGridView cellules de données
J'ai besoin de recevoir la clé, appuyer sur les événements au cours de l'édition de cellules dans DataGridView
de contrôle.
De ce que j'ai trouvé sur le net la DataGridView
est conçu pour satisfaire tous les événements clés de DataGridView
à la cellule de contrôle de l'édition et vous ne pouvez pas obtenir ces événements facilement.
J'ai trouvé ce morceau de code que les pièges de ces événements pour DataGrid
de contrôle, mais cela ne fonctionne pas pour DataGridView
.
OriginalL'auteur Viesturs | 2008-11-28
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
OriginalL'auteur Eren Aygunes
Enfin compris.
Il y a deux pièces de ce puzzle - obtenir les clés de la cellule contrôle de l'édition et de l'obtention des clés de la DataGridView lui-même. Voici mon code. Pour l'utiliser, il vous suffit de vous abonner à l'événement personnalisé: keyPressHook.
OriginalL'auteur Viesturs
Ou, pour ceux d'entre nous qui NE veulent PAS créer notre propre DataGridView pour de telles occasions; il y a cette méthode (en C++): Il utilise le EditingControlShowing Cas de la DataGridView.
OriginalL'auteur
Peut-être pas aussi beau que Mladen Prajdic la réponse ci-dessus, mais peut-être un peu plus facile, selon votre situation. Vous pouvez remplacer la méthode ProcessCmdKey de la forme ou le contrôle de lui-même, traiter les frappes de touches là, et de vérifier pour la cellule en cours.
OriginalL'auteur Eyvind
vous devez remplacer la DataGridViewCell/DataGridViewTextBoxCell/otherTypes et la poignée de la clé* les événements dans la classe dérivée.
OriginalL'auteur Mladen Prajdic
J'ai trouvé une solution partielle par l'écoute de EditingControlShowing et l'ajout d'écouteur à chaque nouveau contrôle de l'édition.
Cela me donne accès à la plupart des clés, mais je ne comprends toujours pas les touches fléchées.
Je vais essayer ce que Eren Aygunes suggéré.
OriginalL'auteur Viesturs