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

dpfauwadel 2 Messages postés lundi 9 juillet 2012Date d'inscription 18 juillet 2012 Dernière intervention - 18 juil. 2012 à 09:20 - Dernière réponse : Whismeril 11552 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention
- 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 

Votre réponse

3 réponses

Meilleure réponse
Whismeril 11552 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 18 juil. 2012 à 09:55
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

Merci Whismeril 3

codes-sources a aidé 82 internautes ce mois-ci

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

Merci beaucoup
Commenter la réponse de dpfauwadel
Whismeril 11552 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 18 juil. 2012 à 17:15
0
Merci
De rien


Whismeril
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.