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
Modérateur
Dernière intervention
15 juillet 2011
35
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
Modérateur
Dernière intervention
15 juillet 2011
35
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