J'ai créé des boutons dynamiquement .
Ensuite je voudrais que quand je clique sur un bouton, un certain événement se déclenche (une fonction) selon le texte du bouton.
Je ne sais pas comment ça se fait avec les boutons dynamiques (le nombre des boutons varie).
Merci pour votre aide.
A voir également:
Urgent / Evènement OnClick sur les boutons dynamiques
Voici un autre exemple
pour ajouter un click sur le bouton qui fonctionne en web
this.calculer.Click += new System.EventHandler(this.Calculer_Click);
private void Calculer_Click(object sender, System.EventArgs e)
Quelle est la raison de ne pas utiliser des controle de type repeater / multiview / grid ....
Normalement c'est contrôle réponde à 90% des problèmes car il est possible de surcharger en plus la plupart de leurs méthodes.
directement ou en les dérivant
Bon courage
voici un exemple en windows form
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i <= 10; i++)
{
Button bt = new Button();
bt.Name = "button"+i;
bt.Top = i * 20;
bt.Click += this.Button_Click;
this.Controls.Add(bt);
}
}
public void Button_Click(object sender, EventArgs e)
{
MessageBox.Show((sender as Button).Name);
}
comme je le repete quasi tous les jours : ne jamais utilisé des contrôles dynamiques à moins de connaitre parfaitetement le cycle de vie des contrôles ASP.net ...
Bref, dans la plupart des cas tu peux résoudre ton pb en utilisant des repeater / multiview / panel / placeholder / ...
Je procède à cette façon parceque j'arrive pas à faire la même chose avec un autre contrôle. En fait ce que je voulais faire est le suivant :
J'ai une liste déroulante qui contient plusieurs groupe (des centaines).
Je veux faire un truc qui ressemble aux onglets dans Excel. Lorsque je clique sur un groupe, un bouton avec son nom apparaît en dessous, de cette façon j'aurai plusieurs groupes (des boutons) , je peux alors naviguer, cliquer sur le bouton pour avoir certaines données.
Je connais pas le nombre de groupes que je vais choisir, pour cela je procède à créer les boutons dynamiquement.
Ca peut vous paraître un peu bête, mais j'avez rien d'autre dans la tête.
Merci pour toute suggestion.