Je dois créer 5 boutons dynamiquement sur le formulaire Windows et chaque bouton doit répondre à l'événement click. Je l'ai essayé mais tous les boutons répondent au même événement.Comment créer 5 boutons et attribuer dynamiquement des événements de clic individuels?
Répondre
C'est ce que Nick parle sont vos deux options (vous devriez être en mesure d'exécuter ce code et voir les deux options):
public Form1()
{
InitializeComponent();
for (int i = 0; i < 5; i++)
{
Button button = new Button();
button.Location = new Point(20, 30 * i + 10);
switch (i)
{
case 0:
button.Click += new EventHandler(ButtonClick);
break;
case 1:
button.Click += new EventHandler(ButtonClick2);
break;
//...
}
this.Controls.Add(button);
}
for (int i = 0; i < 5; i++)
{
Button button = new Button();
button.Location = new Point(160, 30 * i + 10);
button.Click += new EventHandler(ButtonClickOneEvent);
button.Tag = i;
this.Controls.Add(button);
}
}
void ButtonClick(object sender, EventArgs e)
{
// First Button Clicked
}
void ButtonClick2(object sender, EventArgs e)
{
// Second Button Clicked
}
void ButtonClickOneEvent(object sender, EventArgs e)
{
Button button = sender as Button;
if (button != null)
{
// now you know the button that was clicked
switch ((int)button.Tag)
{
case 0:
// First Button Clicked
break;
case 1:
// Second Button Clicked
break;
// ...
}
}
}
Tout de suite, je suis juste un peu plus paresseux que vous êtes! – Nick
ces boutons répondront aux événements de clic, comme quand je clique sur le bouton 1, le message devrait afficher "Bouton 1 cliqué", en cliquant sur le bouton 2 il devrait montrer "Bouton 2 cliqué". et ainsi de suite ... –
Ils le feront certainement, allez-y et testez-le en mettant des points d'arrêt ou en ajoutant MessageBox.Show ("Ajouter mes commentaires ici"); pour le voir fonctionner. – SwDevMan81
Deviner ce que vous avez peut-être essayé: Oui, tous les boutons transmettent leurs événements à la même méthode, mais le paramètre sender
de votre méthode de rappel contient une référence au bouton qui a provoqué l'événement spécifique.
Je suppose que vous êtes dans une boucle et que vous faites quelque chose comme ça?
Button newButton = new Button();
newButton.Click += new EventHandler(newButton_Clicked);
Vous enregistrez la même méthode pour tous les boutons. Vous aurez besoin de méthodes individuelles pour chaque bouton. Vous pouvez également affecter à chaque bouton une propriété d'identification différente et, dans votre gestionnaire, vérifier quel bouton était l'expéditeur.
De là, vous pouvez prendre les mesures appropriées.
button b =new button();
b.text = " enter text";
b.click =+(then press Tab using key board)
Et comment cela résout le problème? – Moumit
- 1. Comment créer dynamiquement des colonnes dans un datagridview et lui attribuer des titres et ses lignes?
- 2. Désactiver des boutons individuels dans une barre de boutons
- 3. Comment créer plusieurs boutons dynamiquement et gérer leurs événements distincts? + iPhone SDK
- 4. Attribuer des événements de clic à < li > dans JQuery Treeview
- 5. Attribuer des boutons de souris dans Visual Studio 2008
- 6. Ajouter dynamiquement des éléments à un menu contextuel et définir Action de clic
- 7. Flex DateChooser événements pour les jours individuels?
- 8. Apache - comment créer des modules individuels et/ou tous des modules partagés
- 9. Comment créer des boutons à bascule dans une liste rendue dynamiquement
- 10. Comment créer dynamiquement et lire des structures en C?
- 11. Calendrier + Événements dans Drupal 5
- 12. Comment créer une fenêtre transparente avec des boutons non rectangulaires?
- 13. IoC: Comment créer des objets dynamiquement
- 14. Comment créer de superbes boutons dans .Net?
- 15. créer et détruire dynamiquement des appenders de journalisation
- 16. Comment attribuer un effet de survol aux boutons de cette galerie d'images, ainsi que leur assigner des étiquettes individuelles?
- 17. Comment convertir 5 fonctions de clic en une avec des valeurs de changement
- 18. Comment créer des objets dynamiquement de façon élégante en python?
- 19. Asp.net: pour appeler le gestionnaire d'événements des boutons générés dynamiquement?
- 20. C# Délégations et événements
- 21. Comment s'inscrire dynamiquement aux événements personnalisés de jquery?
- 22. Événements de souris spéciaux dans un navigateur: roue, clic-droit?
- 23. Comment donner des actions boutons créées dynamiquement pour chacun - partie 2
- 24. créer des boutons de lien dynamique dans ListView
- 25. ASP.NET MVC: créer dynamiquement des contrôles
- 26. Comment créer des événements compatibles .NET en F #?
- 27. Mappage de boutons individuels sur ASP.NET MVC View aux actions du contrôleur
- 28. Comment intercepter des événements sur des objets d'exécution
- 29. ASP.NET: Comment créer des boutons radio et les déplacer dans une vue DetailsView?
- 30. Comment créer dynamiquement des fonctions accessibles dans une portée parente?
Montrez-nous ce que vous avez essayé jusqu'à présent. – dtb
Les boutons ne répondent pas aux événements. –