2010-11-27 20 views
14

私はwinformアプリケーションで作業しています。ダイナミックにいくつかのコントロールを追加しました。 Button今、私は作成したボタンにイベントを追加したいのですが、これをどのように実行できますか?また、ある人が私にC#の本を紹介することができますが、これはwinformのすべてのトピックを網羅していますか?ありがとう。動的に追加されたコントロールにイベントを追加します。

+2

ブックを追加する別の構文は次のとおりです。私は、一言で言えばC#のが好きで、私は任意のC#の本はこれをカバーだと思います。 – Niki

答えて

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

'+ ='と '=>'をもっと説明してください、または私にそれについてもっと読むことができるリンクを教えてください。 – salman

+4

'+ ='演算子は、ハンドラをイベントに割り当てます。 [イベントについて](http://msdn.microsoft.com/en-us/library/aa645739.aspx)を参照してください。 –

+3

'=>'はラムダ式を示します。 [ラムダ式について読む](http://msdn.microsoft.com/en-us/library/bb397687.aspx)と[匿名の方法](http://msdn.microsoft.com/en-us/library)を参照してください。 /0yw3tz5k.aspx)。 –

12

私は完全にダーリンの答えに同意し、これは、動的なイベントに

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"); 
} 
関連する問題