我有里面有2个元素的groupbox。我想要,当我单击组框内的一个元素时,应取消选择其他元素。我可以通过为所有元素创建单独的侦听器来做到这一点。这样。
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;
}
}
答案 0 :(得分:1)
似乎您真正需要的是单选按钮。
添加一个组框,然后在其中添加您的单选按钮。
要使事件在单选按钮状态发生任何变化时触发,您必须将事件添加到每个单选按钮(据我所知)。如果您不想手工操作,可以在groupBox1.Controls.OfType<RadioButton>()
上使用foreach循环来实现。
请记住,该事件将触发两次(一次关闭一次,然后再次打开一次)。
如果确实需要复选框,则仍然需要为每个事件添加事件,并且仍然可以使用foreach循环来实现,只需切换课程类型即可。
我希望这对您有意义:)