2010-11-10 6 views
0

J'ai créé un contrôle utilisateur qui serait un bouton. Sur mon formulaire, j'ai placé plusieurs de ces boutons. Ma question est: Comment puis-je déterminer dans mon cours de contrôle des utilisateurs qui m'a appelé (c'est-à-dire quel bouton)?déterminer l'appelant de contrôle utilisateur

Répondre

2

Votre classe bouton devrait avoir un événement Clicked public, comme un bouton WinForms normal:

class MyButton 
{ 
    // this should be fired when a button is clicked 
    public event EventHandler Clicked; 
} 

Si vous avez un seul gestionnaire d'événement pour plusieurs boutons, par exemple:

button1.Clicked += new EventHandler(button_Clicked); 
button2.Clicked += new EventHandler(button_Clicked); 
button3.Clicked += new EventHandler(button_Clicked); 

Vous pouvez vérifier le paramètre sender dans votre gestionnaire pour voir quel contrôle a déclenché l'événement:

private void button_Clicked(object sender, EventArgs e) 
{ 
    MyButton button = sender as MyButton; 
    MessageBox.Show("You clicked on " + button.Text"); 
} 
Questions connexes