Générer des boutons automatiquement [Résolu]

Messages postés
2
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
18 juillet 2012
- - Dernière réponse : Whismeril
Messages postés
13628
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 août 2019
- 18 juil. 2012 à 17:15
Bonjour a tous

Je développe actuellement une application pour faire un annuaire. Pour gérer celui-ci, je me base sur un fichier excel comportant les différentes informations dans les cellules. Chaque ligne correspond à un contact. Dans la partie annuaire, lorsque je clique par exemple sur la lettre A, tous mes contacts commençant par A sont alors récupérés par un tableau de taille variable. Ensuite pour chaque contact je crée un bouton avec pour texte, les informations de mon contact. Jusque la tout fonctionne !

Maintenant, je veux pouvoir cliquer sur le bouton d'un contact afin d'ouvrir une nouvelle fenêtre. Le souci est que je ne sais pas comment faire. Surtout que tout mes boutons ont la même instance. J'aimerais pouvoir créer une sorte de tableau de boutons pour avoir bouton1, bouton2 ... en fonction du nombre de contacts commençant par A.
J'aimerais ensuite pouvoir utiliser les fonctions du type bouton1_click.

Voici le code que j'utilise pour créer mes boutons

        private void CreateButton(string ButtonName, string ButtonText, int k)
        {
            ButtonContact = new Button();
            ButtonContact.Name = "ButtonName";
            ButtonContact.Text = ButtonText;
            ButtonContact.Visible = true;

            ButtonContact.Width = 400;
            ButtonContact.Height = 250;
            ButtonContact.Location = new Point(15, 15 + k * ButtonContact.Height);

            panel1.Controls.Add(ButtonContact);

        }


Merci d'avance
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
13628
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 août 2019
298
3
Merci
Bonjour, il faut que tu abonnes tes boutons à une méthode pour l'évenement Click, par exemple

button2.Click += new System.EventHandler(this.button2_Click);


Au moment ou tu vas ecrie "+=" Visual Studio va te proposer de taper sur la touche Tabulation 2 fois pour générer tout seul l'abonnement et la méthode.

Dans la méthode tu n'auras plus qu'a écrire le code necessaire.

Le paramètre sender représentera l'instance unique du bouton sur lequel tu as cliqué, il sera de type object il faudra don le caster en Button si tu as besoin
Button monBouton  (Button)sender;


Pour savoir dequel contatc il s'agit, tu peux te servir du texte que tu as écrit ou de la proporiéte Tag du bouton, à la génération du peux par exemple y enregistrer l'index de ton contact.




Whismeril

Dire « Merci » 3

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

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

Commenter la réponse de Whismeril
Messages postés
2
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
18 juillet 2012
0
Merci
Parfait, c'est exactement ce que je voulais.

Merci beaucoup
Commenter la réponse de dpfauwadel
Messages postés
13628
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 août 2019
298
0
Merci
De rien


Whismeril
Commenter la réponse de Whismeril