Comment définir des événement dans un control crée dynamiquement?

Résolu
didi2005 Messages postés 46 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 1 juillet 2008 - 28 mai 2008 à 23:03
didi2005 Messages postés 46 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 1 juillet 2008 - 29 mai 2008 à 09:26
Bonsoir,
J'ai trouvé pas mal de sujet qui parle de la création d'un control dynamiquement, mais le problème c'est pour ce control crée dynamiquement je vaux définir des événement par exemple on_text_change

j'ai besoin d'un coup de main.

i have a dream

3 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
29 mai 2008 à 08:36
je crois que ca répond pas a sa question.

Dans ta classe, tu dois déclarer un membre de type event :

public event EventHandler MyEvent;
ou si ton event prend un argument
public event EventHandler<tontypeeventargs> MyEvent;

dans ce cas, tu dois créer une classe tontypeeventargs, sachant que cette classe doit hériter de eventargs

a partir de la, tu peux t'abonner a cet event de manière tout a fait classique en dehors de ta classe (mais il est jamais levé).

il faut ensuite créer une méthode qui va permettre de lever l'event. en général on essaie de les implémenter selon les recommandations msdn (donc comme suit :)

protected virtual void OnMyEvent()
//ou protected virtual void OnMyEvent(tontypeeventargs arg)
{
if (MyEvent != null)
{
MyEvent(this, EventArgs.Empty);
//ou MyEvent(this, arg);
}
}

il ne te reste qu'a appeler cette méthode lorsque tu veux lever l'event.
3
Utilisateur anonyme
29 mai 2008 à 01:22
Salut,

Pour ajouter un événement :
this.TonControl.TextChanged += new System.EventHandler(this.TonControl_OnTextChanged);


Et la sub qui va avec :
private void TonControl_OnTextChanged(object sender, EventArgs e) {
     
}

__________
  Kenji
0
didi2005 Messages postés 46 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 1 juillet 2008 1
29 mai 2008 à 09:26
Merci c'est ce que me manquait !!

i have a dream
0
Rejoignez-nous