我的groupbox里面有2个元素。我想,当我点击组框内的一个元素时,应该取消选择其他元素。我可以通过为所有元素创建单独的侦听器来实现。像这样。
private void maleBox(object sender, MouseEventArgs e)
{
if (femaleCheckBox.Checked)
{
femaleCheckBox.Checked = false;
}
}
private void femleBox(object sender, EventArgs e)
{
if (maleCheckBox.Checked)
{
maleCheckBox.Checked = false;
}
}
看起来你真正需要的是收音机按钮。添加一个组合框,然后在其中添加单选按钮。
要在任何单选按钮状态发生变化时触发事件,您必须将事件添加到每个单选按钮(据我所知)。如果您不想手动执行,可以使用groupBox1.Controls.OfType<RadioButton>()
上的foreach循环执行此操作。
请记住,事件将触发两次(一次关闭一次,然后另一次关闭一次)。
如果你确实需要复选框,你仍然需要为每个复选框添加事件,你仍然可以使用foreach循环来切换当然的类型。
我希望这对你有意义:)