如何在c#中创建分组框元素点击监听器
How to create groupbox element click Listner in c#
我有一个包含 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 循环来完成,当然只需切换类型即可。
我希望这对你有意义:)
我有一个包含 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 循环来完成,当然只需切换类型即可。
我希望这对你有意义:)