Ajouter un évènement au c#

Résolu
jihednond Messages postés 143 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 3 septembre 2011 - 15 mars 2010 à 18:26
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 16 mars 2010 à 10:44
bonjour

je suis au cour d'apprentissage de c# et je n'ai pas pu comprendre comment insérer des
évènement exmple(change click...ect)d' textbox ou un autre composent (non pas comme le visual basic ou en peut choisir les évènement a partir d' une liste en dessous du fenêtre de code )

merci d'avance

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 mars 2010 à 18:54
Quand tu es sur ton écran en mode design, non pas sur la partie code, mais sur la partie ou tu pose les contrôles, tu sélectionne ton contrôle et tu regarde dans l'onglet propriété.
Tu as, au dessus de la liste des propriétés, des petits boutons, dont un qui ressemble à un éclair. Tu clique dessus, ça va basculer la liste sur la liste des évènements du contrôle.
Dans cette liste tu repère l'évènement qui t'intéresse et tu lui affecte la fonction qui va gérer cet évènement. Si elle n'existe pas, un double click dans la zone de saisie va te basculer dans la partie code avec la création automatique de la fonction nécessaire.


A noter que le fonctionnement est strictement identique en VB mais peu connu car la liste déroulante que tu cite permet de faire différemment, et peut-être de façon plus intuitive


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
jihednond Messages postés 143 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 3 septembre 2011 1
15 mars 2010 à 20:09
merci infiniment
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
16 mars 2010 à 10:44
Salut

Casy a parfaitement expliqué la méthode pour créer un délégué sur un événement en mode Design.

Pour le faire via le code, c'est ainsi :

MonBouton.Click += new EventHandler(maMethode);

//Avec maMethode ayant ce prototype : 
void maMethode(object sender, EventArgs e);


Mais comme Visual Studio, c'est bien pour nous qui sommes fainéants, tu as juste à faire :
MonBouton.Click+=<tab><tab>
et ça écrira automatiquement le new EventHandler, et ça te génèrera la méthode.

A noter, cependant, qu'il s'agit là d'un événement simple. Voici un exemple d'un cas un peu plus complexe :

MonBouton.MouseMove += new MouseEventHandler(maMethode2);
//Avec maMethode2 ayant ce prototype :
void maMethode2(object sender, MouseEventArgs e);


La différence est que quand l'événement est de type MouseEvent, on peut récupérer des informations sur l'état de la souris via le MouseEventArgs, telles que sa position, l'état de ses boutons...

Enfin, je tenais juste à préciser que lorsque tu associe une méthode à un événement depuis le Designer, c'est exactement ce code qui est généré, mais tu ne le vois pas. En fait, il est dans le fichier MaForm.Designer.cs

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Rejoignez-nous