1

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

我无法找到它的事件处理程序。

4

4 回答 4

6

你试过这个

        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);
于 2013-04-16T11:07:58.863 回答
1
  private void custom_event_handler(object sender, EventArgs e)
  {
       ....
  }

然后像这样添加复选框:

 CheckBox cb = new CheckBox();
 cb.CheckedChanged += new EventHandler(custom_event_hahndler);
于 2013-04-16T11:05:32.330 回答
1

如果动态添加的复选框名称为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 是您要禁用的复选框的名称。

于 2013-04-16T11:44:16.630 回答
0

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

CheckBox dynamicCheckBox = new CheckBox();
dynamicCheckBox.CheckedChanged +=new EventHandler(dynamicCheckBox_CheckedChanged);

private void dynamicCheckBox_CheckedChanged(object sender, EventArgs e)
{
    // Your code
}
于 2013-04-16T11:50:50.273 回答