Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 27 oct. 2007 à 21:20
Et pour le cas particulier de la touche "Enter" tu peux aussi utiliser la propriété "AcceptButton" de ta Form, pour la faire pointer sur le bouton en question (et "CancelButton" pour associer un bouton à l'appui sur la touche "Echap").
dvjh
Messages postés6Date d'inscriptionvendredi 26 octobre 2007StatutMembreDernière intervention14 décembre 2008 27 oct. 2007 à 22:28
Dans les propriétés de la Form : sous Divers mettre KeyPreview à true.
Dans les événements, double cliquer sur KeyUp pour la Form et pour le Bouton
void FormKeyUp(object sender, KeyEventArgs e)
{
// Pas de distinction entre la touche "retour à la ligne"
// et la touche "enter"
if (Keys.Enter == e.KeyData)
{
MessageBox.Show(e.KeyData.ToString());
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 27 oct. 2007 à 23:34
Salut,
"this.BtnClick(sender, e); "
Non, non, non et non ! On n'appelle pas comme ça un gestionnaire d'évènement.
Ne faites pas ça : un gestionnaire d'évènements de clic sur bouton n'est pas censé se prendre une instance de la classe Form en paramètre sender.
En plus, pour la maintenance et les évolutions, c'est un cauchemar. Avec ce genre de code, on peut "cliquer" même si le bouton est désactivé.
Si les autres solutions proposées ne sont pas utilisables, la rustine peut passer par Button.PerformClick à la rigueur (avec un bon commentaire et une bonne explication dans la doc, pour que le prochain dev qui travaillera sur l'application aie conscience de la chose), mais sinon il faut revoir l'archi.