Urgent / Evènement OnClick sur les boutons dynamiques

Résolu
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008 - 14 janv. 2008 à 16:43
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008 - 15 janv. 2008 à 16:53
Bonjour,

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.

7 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 janv. 2008 à 16:27
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
3
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008
14 janv. 2008 à 16:46
N.B : J'utilise C# comme code.


Merci pour tout aide.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
14 janv. 2008 à 20:12
Salut

Il faut que ajoutes l'evenement

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);
        }

Bon courage
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
14 janv. 2008 à 23:05
Bonjour,

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 / ...

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008
15 janv. 2008 à 15:59
Bonjour,
Je t'assure que si je pouvais utiliser un autre contrôle je le ferais , mais dans ce cas je me trouve obligé.

nhervagault merci pour ton aide mais ça me donne l'erreur suivant :

La méthode Button_Click(object, System.EventArgs)' est référencée sans parenthèses.
Qu'est-ce que je dois donner comme paramètre à cette fonction?

Bonne journée à tous.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
15 janv. 2008 à 16:29
hériter de BaseDataBoundControl répond à 100% des problèmes où il faut inclure plusieurs controles dynamiquement

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008
15 janv. 2008 à 16:53
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.
0
Rejoignez-nous