我能够在 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
}