C#Windows窗体,如何在动态按钮上生成动态事件?

时间:2018-03-22 10:37:34

标签: c# windows events dynamic

    //
    int c = 1;
    public System.Windows.Forms.Button AddNewButton()
    {
        System.Windows.Forms.Button btn = new System.Windows.Forms.Button();
        this.Controls.Add(btn);
        btn.Top = 350;
        btn.Left = c * 80;
        btn.Text = "" + this.c.ToString();
        btn.Name = "MButton" + this.c.ToString();
        c = c + 1;
        return btn;
    }
    //

AddNewButton();
AddNewButton();
.
.
.
AddNewButton();
// Create the button through the for statement.

我动态生成按钮。 当我单击生成的按钮1时 Console.WriteLine( “Click_Button1”);

单击生成的按钮2 Console.WriteLine( “Click_Button2”); 。 。 。 当我单击生成的按钮50时 Console.WriteLine( “Click_Button50”);

通过这种方式,我想创建一个动态事件。 如何生成动态事件?

2 个答案:

答案 0 :(得分:0)

只需在创建按钮时添加ClickEventHandler

btn.Click += (sender,e)=>{Console.WriteLine("Click_Button"+1)};

MSDN link

答案 1 :(得分:0)

可以通过以下语法

以编程方式将事件处理程序添加到控件和类中
myButton.Click += myButton_Click;

void myButton_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Message here");
        this.Close();
    }