L'évènement keypress et click, Help!!! [Résolu]

Signaler
Messages postés
38
Date d'inscription
vendredi 3 septembre 2004
Statut
Membre
Dernière intervention
21 mars 2006
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour!,

J'aimerais savoir comment faire pour que quand j'appuis sur le a minuscule, que mon image x monte...

Et que quand je click sur le bouton droit de ma souris, que mon petit bonhomme que j'ai créer s'affiche sur ma form

Merci à l'avance!!!

Acidkepler

7 réponses

Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
29 janvier 2008
1
private
void Form1_KeyPress(
object sender,
KeyPressEventArgs e)


{



if (e.KeyChar.ToString() ==
"a")


{



MessageBox.Show(
"t a appuyé sur a");


//Donc la tu change les coordonnées de ton image
}


}



private
void Form1_MouseClick(
object sender,
MouseEventArgs e)


{



if (e.Button.ToString() ==
"Right")


{



MessageBox.Show(
"bouton droit click");
//la tu fait monBonhome.visible=true;


}


}
Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
29 janvier 2008
1
ouhla c un peu flou ce que tu demandes !

Tu à pas un exemple de ton code pour voir ce qui va pas ?

sinon il faut que tu regardes les eventArgs passés dans tes évenements ...
Messages postés
38
Date d'inscription
vendredi 3 septembre 2004
Statut
Membre
Dernière intervention
21 mars 2006

Le problème c'est que je n'ai pas d'exemple pour mon code mais je vais réexpliquer:

Sans bouton ni rien,

Quand ma form est ouverte,

quand je presse sur le a minuscule de mon clavier, (Le dessin que j'ai créer doit se mettre plus vers le haut, mais ça je sais comment faire).

Donc quand j'appuis sur le a, il doit ce passer quelque chose et seulement sur la lettre a.

Quand je clique sur le bouton droit de ma souris, je dois afficher un dessin que j'ai créer.

Tout ça sans bouton! Juste quand la forme est là
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
90
Salut,

Tu peux faire ça avec un override de la méthode WndProc du formulaire pour taiter les notifications WM_RBUTTONDOWN/WM_RBUTTONUP et WM_KEYDOWN/WM_KEYUP.

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
90
Oui, et je me suis trompé dans ma réponse précédente, elle ne permettra pas de recevoir la notification quelque soit le contrôle ayant le focus. (elle ne sera pas plus efficace que l'exemple de bernie666, juste plus contraignante)
Si la question portait bien sur ça, il faut pour celà utiliser un filtre, voir Application.AddMessageFilter et l'interface IMessageFilter, et filtrer les notifications précédemment citées sur le fait que le destinataire soit le formulaire ou un de ses contrôles enfants.

A noter que plutôt que de s'abonner à ses propres event, il est préférable de surcharger les méthodes OnClick et OnKeyPress.

/*
coq
MVP Visual C#
*/
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Pour tester la touche :

if ( e.KeyChar == 'a' )
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Pour le clavier on peut se passer d'un filtre avec Form.KeyPreview.