如何处理窗体上动态添加的复选框的事件

本文关键字:添加 动态 复选框 事件 窗体 何处理 处理 | 更新日期: 2023-09-27 18:09:18

我能够在windows窗体上动态添加复选框,并为其文本属性添加数据值。在单击任何复选框时,我已经运行了一个程序,该程序将使某些其他复选框禁用。

我找不到事件处理程序

如何处理窗体上动态添加的复选框的事件

你试过了吗

        CheckBox check = new CheckBox();
        check.Checked = true;
        check.AccessibleName = checkName;
        check.Location = new System.Drawing.Point(340, 40);
        check.CheckedChanged +=new EventHandler(check_CheckedChanged);
        this.Controls.Add(check);
  private void custom_event_handler(object sender, EventArgs e)
  {
       ....
  }

然后添加这样的复选框:

 CheckBox cb = new CheckBox();
 cb.CheckedChanged += new EventHandler(custom_event_hahndler);

如果动态添加的复选框的名称为c,则答案如下:

c.CheckedChanged += c_CheckedChanged;

和c_CheckedChanged如下所示:

 private void c_CheckedChanged(object sender, EventArgs e)
    {
       if (((CheckBox)sender).Checked)
       {
          ((CheckBox)(this.Controls.Find("c1", false))[0]).Enabled = false;
       }
    }

其中c1是要禁用的复选框的名称

以编程方式创建复选框时添加事件处理程序。它的处理程序,你可以做你的代码逻辑。

CheckBox dynamicCheckBox = new CheckBox();
dynamicCheckBox.CheckedChanged +=new EventHandler(dynamicCheckBox_CheckedChanged);
private void dynamicCheckBox_CheckedChanged(object sender, EventArgs e)
{
    // Your code
}