一、Devexpress RadioEdit控件当选中一个,其他选中状态变为不选中?
页面效果
前端页面(示例):
图片所用GroupControl 将所有的RadioEdit控件放在一起,可以看成一个大集合。里面的单选按钮就是小控件。只需要将自己想要默认的第一个放在变量存储,在加载窗体设置选中即可(也可以在页面设计器默设置,但为了后期能控制还是推荐在加载窗体设置选中)。其二将页面所有的checkedit的click事件设置为如下checkedit1_Click事件,即可,那么当每次单击某个按钮,获取name值如果与第一个相同,那么就直接返回,如果不是则选中
后端代码(示例):
private void checkEdit1_Click(object sender, EventArgs e)
{
//如过名字相同,则是重复点击,直接返回
if (radioName.Equals(((CheckEdit)sender).Name))
{
return;
}
else
{
//查找上次保存的控件
Control[] controls = this.Controls.Find(radioName, true);
((CheckEdit)(controls[0])).Checked = false;
radioName = ((CheckEdit)sender).Name;
}
}
经过设置以后发现,每次双击checkEdit 以后还是可以取消选中。与我们的单选框还是有所区别,那么将页面所有的checkEdit控件的RadioGroupIndex属性都设置为1,此功能归类成一组,那么就可以实现双击不取消选中。
总结
提示:这里对文章进行总结:
在这之前有想过将页面所有的checkedit控件循环,将所有的checkedit控件添加valueChanged事件,但如果每当点击了一个按钮,那么就会永远触发值改变事件,那么将会是一个死循环。作为一次教训把。