0

在窗口窗体中,我们能否为“FlowLayoutPanel”中的按钮实现常见的单击事件,您能帮帮我吗?先感谢您。

4

1 回答 1

2

是的,您可以拥有一个事件的通用处理程序。在创建Button控件时:

for (Int32 i = 0; i < 3; i++)
{
    Button b = new Button();
    b.Name = "button" + i;
    // OR:  b.Tag = i;
    b.Click += button_Click;
    flowLayoutPanel1.Controls.Add(b);  //or whatever you add them to...
}

现在您已经为每个指定了相同的处理程序Button

private void button_Click(Object sender, EventArgs e)
{
    Button b = (Button)sender;
    switch (b.Name)  // OR: switch (b.Tag) and react to integers instead of strings
    {
        case "button0":
            break;
        case "button1":
            break;
        case "button2":
            break;
    }
}

简而言之,您只需要一种方法来识别每个按钮,然后在调用公共处理程序时对该标识符做出反应。

于 2013-08-16T14:08:45.843 回答