2010-11-27 6 views
14

Je travaille sur l'application winform. et j'ai ajouté des contrôles dynamiquement par exemple. Button maintenant je veux ajouter un événement à ce bouton créé, comment puis-je effectuer cela? aussi quelqu'un peut-il se référer un livre C# à moi qui a couvert bien tous les sujets dans winform? Merci.Ajouter des événements aux contrôles ajoutés dynamiquement

+2

Livres: J'aimais C# en quelques mots, mais je pense que tout livre C# couvre cela. – Niki

Répondre

18
// create some dynamic button 
Button b = new Button(); 
// assign some event to it 
b.Click += (sender, e) => 
{ 
    MessageBox.Show("the button was clicked"); 
}; 
// add the button to the form 
Controls.Add(b); 
+1

merci s'il vous plaît expliquer '+ =' et '=>' plus ou donnez-moi un lien où je peux en lire plus à ce sujet. – salman

+4

L'opérateur '+ =' attribue un gestionnaire à un événement. Vous devriez [lire sur les événements] (http://msdn.microsoft.com/en-us/library/aa645739.aspx). –

+3

Le '=>' indique une expression lambda. Vous devriez [lire à propos des expressions lambda] (http://msdn.microsoft.com/en-us/library/bb397687.aspx) et [méthodes anonymes] (http://msdn.microsoft.com/fr-fr/library /0yw3tz5k.aspx). –

12

Je suis totalement d'accord avec la réponse de Darin, et ceci est une autre syntaxe d'ajouter événement dynamique

private void Form1_Load(object sender, EventArgs e) 
{ 
    Button b = new Button(); 
    b.Click += new EventHandler(ShowMessage); 
    Controls.Add(b); 
} 

private void ShowMessage(object sender,EventArgs e) 
{ 
    MessageBox.Show("Message"); 
} 
Questions connexes