[Resolu ] Attraper un évènement

Attraper un évènement [Resolu ] - C#/.NET managed - Programmation

Marsh Posté le 06-09-2006 à 12:04:39    

Salut à tous,
 
je n'arrive pas à faire fonctionner les redéfinitons en C#.
Je m'explique : j'ai une Form ( appelée MainForm ) sur laquelle je voudrais redéfinir l'évènement OnResize().
J'utilise donc la propriété "override" mais cela ne veut jamais compiler. J'ai tout essayé, avec ou sans 'MainForm_' devant, avec ou sans "override" ... et soit ca ne compile pas, soit ca ne marche pas.
Comment faire ? :cry:  
a+
 
Edit : et j'ai le même pb sur un double click d'une ListView  :cry:  :cry:


Message édité par Chandy le 07-09-2006 à 15:27:34
Reply

Marsh Posté le 06-09-2006 à 12:04:39   

Reply

Marsh Posté le 06-09-2006 à 13:26:12    

a mon avis tu n'utilise déjà pas visual studio... Tu as une grosse lacune en C# si tu ne sais déjà pas manuellement déclencher un event.  
 
exemple pour un bouton:
 
btnInfo.Click +=new EventHandler(btnInfo_Click);
 
et tu crées ton handler

Reply

Marsh Posté le 06-09-2006 à 14:36:43    

A coller dans le code de ta Form :

Code :
  1. protected override void OnResize(EventArgs e)
  2. {
  3. }


Et ça, c'est garanti que ça fonctionne.
Avec VS.Net : tu tapes override dans ta form, et tu verras la liste des méthodes que tu peux redéfinir (ça évite de tout taper et de faire des fot de sintax)
 
La solution de moi23372 fonctionne aussi, bien qu'un peu moins performante.
Elle consiste à s'abonner à l'évènement, ce que l'on utilise préférentiellement depuis un contrôle extérieur au contrôle courant.
Ex : pour associer du code à un bouton :
* Depuis le code de la form qui le contient :
    mycustombutton.Click += new new EventHandler(mycustombutton_Click);
* Depuis le code du bouton :  
 protected override void OnClick(EventArgs e)

 
L'inconvénient de la redéfinition c'est qu'il ne faut pas oublier d'appeler la méthode de base, sous risque d'avoir des effets de bord.
L'avantage, c'est que tu choisis quand tu appelles la méthode de base, donc tu peux placer ton code avant ou après le déclenchement de l'évènement pour les contrôle abonnés.

Reply

Marsh Posté le 07-09-2006 à 15:26:53    

Merci à vous 2.
J'ai essayé avec la méthode de moi23372 et ca marche maintenant !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed