Liste Controles - Gestion évènements [Résolu]

Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
- - Dernière réponse : cs_ansizak
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
- 28 sept. 2010 à 15:55
Bonjour,

Je suis venu dans mon code à générer une liste de controls dynamiquement du type:

for (int i =0;i<n;i++)
{
button[i] = new Button();
button[i].Click = += new EventHandler(Button_Click);
}

Ma question est: comment puis-je récupérer l'index du bouton cliqué pour gérer différemment les évènements liés à ce clic ?

Merci par avance, de m'éclairer,

Cordialement,

Anze.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
mardi 28 septembre 2010
Statut
Membre
Dernière intervention
30 avril 2012
3
Merci
Salut,

Voici un exemple qui doit fonctionner.

/// <summary>
/// Table buttons
/// </summary>
private Button[] buttons = new Button[3];

/// <summary>
/// Initializes the content buttons table
/// </summary>
private void Init()
{
for (int i = 0; i < buttons.Length; i++)
{
buttons[i] = new Button();
buttons[i].Click += new EventHandler(Button_Click);
}
}

/// <summary>
/// Callback of buttons table click
/// </summary>
/// Sender of the event


///


private void Button_Click(object sender, EventArgs e)
{
if (sender is Button)
{
int position = this.FindIndex((Button)sender);
Console.WriteLine("Position: " + position);

switch (position)
{
case 0:
// Code button 0
break;

case 1:
// Code button 1
break;

default:
// Other cases
break;
}
}
}

/// <summary>
/// Find index of button
/// </summary>
/// button search


/// <returns>The index of the button</returns>
int FindIndex(Button button)
{
int buttonIndex = -1;

for (int i = 0; i < buttons.Length; i++)
{
if (buttons[i] == button)
{
buttonIndex = i;
break;
}
}

return buttonIndex;
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de captainFoyd
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
0
Merci
Je jette un œil, merci beaucoup.
Commenter la réponse de cs_ansizak