以下のコードは、ボタンをクリックしたときの各ボタンのインデックスを配列で表示しますが、これはすべてフォームの読み込みで行われます。しかし、フォームの読み込みではなく、クリックイベントで同じことを実行したいのですが、これを実行するにはどうすればよいでしょうか。
画像:
コード:
namespace _2DArray
{
public partial class Form1 : Form
{
private Button[,] b;
public Form1()
{
InitializeComponent();
b = new Button[2, 2];
b = new Button[,] { {button1,button2 },
{button3, button4}};
}
public int x = 0;
public int y = 0;
private void Form1_Load(object sender, EventArgs e)
{
foreach (Button bt in b)
{
bt.Click += new System.EventHandler(this.ClickedButton);
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
b[i, j].Click += new System.EventHandler(this.ClickedButton);
b[i, j].Name = "X: " + i + " " + "Y: " + j;
}
}
}
private void ClickedButton(object sender, EventArgs e)
{
Button s = (Button)sender;
MessageBox.Show("you have clicked button: " + s.Name);
}
}
}