如何使单选按钮互斥

3

我在一个表单上有7个单选按钮。

其中3个属于一组,另外4个属于另一组。

我希望同一组内的单选按钮是互斥的。

可以通过将它们放入两个GroupBox中来实现这一点。

是否有其他方法可以实现这一点,而不需要将它们放入像GroupBox这样的容器中?


1
你可以挂载事件并更改默认行为,但问题是为什么?通过简单地调整边框属性,您可以使其看起来像一个组。 - IMHO
2个回答

4
将它们放在一个Panel上是最简单的方法,但如果您真的不想要一个容器控件,您可以使用我曾经使用过的方法。通过从RadioButton继承并添加一个Group属性(字符串、整数都可以),创建自己的CustomRadioButton。当CheckChanged事件触发时,如果按钮刚刚被选中,则搜索父容器的Controls集合以查找具有相同Group值的其他CustomRadioButton控件并取消选中它们。我以前用过这个方法,效果很好。但是,真的,还是使用Panel吧。

嗯嗯嗯...我没有问题将一个面板放进去,但是可以让面板透明吗?最终用户不应该感觉到单选按钮被放在了容器中,他应该感觉到所有按钮(不同的组)都在表单上。 - Gaddigesh
您可以将面板设置为透明或与其所在的窗体颜色相同。 - user203570

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接