Ajouter un évènement au c#

Résolu
Signaler
Messages postés
143
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2011
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
143
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2011
1
merci infiniment
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
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é. -