如何在C#Windows窗体中使用动态创建的Button/textBox?

Usm*_*dri 3 c# winforms

private void createButton()
{
    flowLayoutPanel1.Controls.Clear();

    for (int i = 0; i < 4; i++)
    {    
        Button b = new Button();
        b.Name = i.ToString();
        b.Text = "Button" + i.ToString();
        flowLayoutPanel1.Controls.Add(b);
    }

}
private void button1_Click(object sender, EventArgs e)
{
    createButton();
}
Run Code Online (Sandbox Code Playgroud)

我使用此代码在运行时创建一些按钮,现在我如何使用这些创建的按钮执行不同的操作?我很新,所以请帮助我,非常感谢:)

Dan*_*rth 8

您可以为click事件分配事件处理程序:

b.Click += SomeMethod;
Run Code Online (Sandbox Code Playgroud)

SomeMethod 必须具有以下签名:

void SomeMethod(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

  • @Mario当你有一个匿名事件处理程序时,你可以避免转换`sender`并只是关闭按钮本身. (2认同)