无法使用Controls.Add实例

时间:2018-08-17 09:19:17

标签: c# events button instance

我正在尝试以编程方式创建按钮。我不想使用Button btn = new Button(); .. btn.height = .... control.Add(btn);。我正在使用的代码可以将按钮添加到表单中,但是我无法使用实例,因此无法创建button.click事件。谁能帮我解决这个问题。我在下面使用的代码谢谢。

TaskInstance

1 个答案:

答案 0 :(得分:1)

如果您不想创建按钮并直接订阅事件(我不知道为什么这很重要),则可以执行以下操作:

private void Method()
{
    int k = 0;
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            Controls.Add(new Button() { Top = 50 + (50 * i), Left = 50 + (50 * j), Width = 50, Height = 50, Text = (++k).ToString() });
        }
    }
    Controls.OfType<Button>().ToList().ForEach(x => x.Click += Button_Click);
}

private void Button_Click(object sender, System.EventArgs e)
{
    MessageBox.Show((sender as Button).Text);
}