【发布时间】:2014-01-28 21:56:22
【问题描述】:
我有以下用于创建动态按钮的代码,但消息框总是显示 8。当我单击 button[0][4] 时,如何使其显示在示例 4 中?我已经尝试过 labda 和 delegate 但都返回 8 (text[i].Count)。同样的事情也发生在变量i 上。
它一定很简单,但我找不到:-(。
private void Form1_Load(object sender, EventArgs e)
{
for(int i = 0; i < text.Count; i++) // text.Count is 3
{
for(int a = 0; a < text[i].Count; a++) // text[i].Count is 8
{
button[i][a].Location = new Point(230, 30 +22 *a);
button[i][a].Text = "Done" + i + " " + a;
button[i][a].Click += delegate { click(a); };
...
private void click(int a)
{
MessageBox.Show("" +a);
}
【问题讨论】:
标签: c# button parameters click