【问题标题】:How to dynamically create EventHandlers for dynamically created buttons? C# VS2010如何为动态创建的按钮动态创建事件处理程序? C# VS2010
【发布时间】:2014-04-01 16:15:19
【问题描述】:

所以,我有一个用文本框和按钮动态填充的表单。 如何为每个按钮动态创建事件处理程序(例如:它生成 20 个按钮,我需要 20 个事件处理程序)。每个按钮都将具有相同的功能(从数据库中删除某些内容),但我需要程序知道何时单击其中任何一个来触发该代码。 // 另外,按钮创建代码在 while() 内,所以我不能在 while 之外使用它(只是指出这一点) 代码:

public void LoadElements()
{
    //more code here
    while(some condition)
        {
            // more code above
                Button b = new Button();
                                b.Text = "Delete";
                                b.Name = "button" + j;
                                b.Location = new Point(240, Y);
                                Controls.Add(b);
            // more code bellow
        }
    // more code here
}

【问题讨论】:

    标签: c# visual-studio-2010 events button


    【解决方案1】:

    像分配代码中的任何其他事件一样分配它们。您可以简单地添加一个事件处理程序,执行以下操作:

    b.Click += b_Click
    

    【讨论】:

      【解决方案2】:

      在循环中添加:

      b.Click+=New Eventhandler(b_Click);
      

      (只需在输入b.Click+= 后按两次TAB)。

      在循环外定义函数b_Click。当这些按钮中的任何一个被点击时,它将被调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-23
        • 2017-07-29
        • 2016-08-20
        • 1970-01-01
        • 2015-03-02
        • 2014-05-21
        • 1970-01-01
        • 2014-03-12
        相关资源
        最近更新 更多