2010-04-27 45 views
2

我有7个单选按钮在窗体上如何让单选按钮互斥

其中3个属于一组,其中4至另一组

我想要的单选按钮是组内相互排斥。

这可以通过将他们两个GroupBoxes来实现,

有什么办法,我们可以做到这一点,而不把它们放在一个容器像组框

+1

嗯,你可以挂在事件和改变默认行为,但问题是为什么呢?您可以通过简单地修改边框属性使其看起来像一个组 – IMHO 2010-04-27 13:32:23

+0

Windows窗体? – Lucas 2010-04-27 13:43:48

回答

3

把它们放在Panel将是最简单的,但如果你真的不想要容器控件,你可以使用我用过的方法。通过继承RadioButton创建属于自己的CustomRadioButton,并添加一个Group属性(字符串,int,无关紧要)。当CheckChanged事件触发时,如果该按钮刚刚被选中,则搜索父容器的Controls集合中的其他CustomRadioButton控件,其值为Group,并取消选中它们。我以前使用过它,它运行良好。真的,只是使用Panel

+0

嗯......我没有问题放在一个面板,但我可以让面板透明? 终极用户不应该觉得单选按钮放在容器中,他应该觉得所有按钮(不同组)都只在表格上。 – Gaddigesh 2010-04-27 14:27:39

+0

您可以使面板透明或与其所在的表单颜色相同。 – 2010-04-27 17:26:30

0

做的最好的办法,因此我们将使用GroupBox