Bonjour,

Question "bateau" du vendredi !

Soit le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
public event EventHandler truc;
 
public Form1()
{
	InitializeComponent();
 
	truc += new EventHandler(Form1_truc);
	truc += new EventHandler(Form1_truc);
	truc += new EventHandler(Form1_truc);
	foreach (EventHandler eventDelegate in truc.GetInvocationList())
	{
		MessageBox.Show(eventDelegate.Method.Name);
	}
 
	button1.Click += new EventHandler(button1_Click);
	button1.Click += new EventHandler(button1_Click);
	foreach (EventHandler eventDelegate in (button1.Click).GetInvocationList())
	{
		MessageBox.Show(eventDelegate.Method.Name);
	}
 
}
 
void Form1_truc(object sender, EventArgs e)
{
}
 
void button1_Click(object sender, EventArgs e)
{
}
truc est un EventHandler, button1.Click également.

Le code devrait donc fonctionner pour les deux.

A la compilation, C# me dit que Click ne peut apparaitre qu'à droite ou à gauche de +=

C'est normal ce comportement ?
Une solution pour contourner ce problème ?

Papy !


...suite : Je continue à chercher sur le net en même temps ... tous les post trouvés semblent dire que c'est impossible et qu'il faut gérer sa propre liste d'évènements ...