如上图所示,在winform中用RadioButton控件来实现用户单项选择是否创建数据报表,默认选择是,这个可以在“是”这个控件的属性中设置其Checked为true。
在网上搜索了下,大部分的解决方法都是放在groupbox或panel控件中,但我一时半会也没弄明白原理。所以自己琢磨了会,查到RadioButton的Checked属性在用户点击的时候是不会自动改变其值的,比如“是”这个RadioButton给它设置初始属性Checked=true,当用户点击是时,Checked值不会自己变为false,但如果“是”处于未选中状态Checked=false,点击“是”时该按钮处于选中状态,此时的Checked是会自己变为true的,这个所以这就很方便了。
分别给两个RadioButton添加click事件,点击后的事件就是把对方的Checked值设为false,这样不管本身是否处于选中状态,都会将对方的值置于false。
一个很简单的思路,但也是花了点时间才琢磨出来,这也充分说明了在写代码前考虑清楚逻辑关系是非常重要的。
private void RadioBtnTrue_Click(object sender, EventArgs e)
{
RadioBtnFalse.Checked = false;
}
private void RadioBtnFalse_Click(object sender, EventArgs e)
{
RadioBtnTrue.Checked = false;
}