ボタンをプログラムの中から追加して利用したい、という場合があります。
当然、ボタンがクリックされたときにはどのボタンが押されたのか判断できなくてはいけません。
以下のようなサンプルでこれが実現できます。
-------------------------------------------------------
using System;
using System.Windows.Forms;
class WinSample : Form
{
public static void Main()
{
Application.Run(new WinSample());
}
public WinSample()
{
for(int i = 0; i <= 2; i++)
{
Button mybutton = new Button();
mybutton.Location = new System.Drawing.Point(100, 100 + i * 50);
mybutton.Text = "ボタン" + i.ToString();
mybutton.Click += new EventHandler(this.mb_Click);
this.Controls.Add(mybutton);
}
}
private void mb_Click(object sender, EventArgs e)
{
MessageBox.Show(((Button)sender).Text + "がクリックされました");
}
}
-------------------------------------------------------
複数のコントロールで同一のイベントに対するメソッドを利用できること、またそのメソッドの中でどのコントロールから発生したイベントなのかを判別できるようになっていることがわかりますね
あおい情報システム株式会社 小野修司(どっとねっとふぁん)