1、使用DevExpress.XtraBars.Bar控件点击如下图所示的地方可以灵活选择子条目的类型。
2、弹出如下对话框并选择红框中的内容
3、新增后只有一个空的矩形框,需要在VS2010属性侧边栏如下图操作
4、然后如下图操作添加RadioGroup中的成员
然后弹出对话框,即将迎来一个坑!
想当然认为配置数值取值范围不大,int16,即short型足够了。
5、指定描述和值后的样子是这样的
6、在代码中给这个BarItem(命名为barDateRangeSelect)给其赋值初始值,如果默认值在以上条目的取值中,将会默认选取状态。
代码如下:在构造函数中添加
this.barDateRangeSelect.EditValue = 4;
7、运行代码后,发现程序并没有默认选取在测试的那个小选择点上。
8、百思不得其解,百度千百遍不得答案。最后回到那个有坑的图上来,我选取的是int16的数据类型,我赋值个4给他有错吗?答案在如下图上
9、后来实在没办法在就属性栏也可以指定其editValue属性值,结果“奇迹”发生了,默认值如期而至出现了。奇迹只能通过代码可以解读!
10、任何操作会忠实记录在源文件中,查看XXX.Designer的源文件,如下图所示
11、里面有(short)的强制类型转换。把这部分代码剪切后贴到原来构造函数的位置。重新运行程序。发现默认值是选取状态。
12、测试把成员类型选择为int32,把成员值也选择为int32指定不同的值后,代码是这样的。
其它的地方代码是这样的
13、真相浮出水面,是最初那个最不经意的int16类型指定做的孽。那里指定是int16,你就必须使用(short)强制转换赋值。不然直接赋值4,系统会默认是int32数据类型。尽管值是一样的4,但是类型不同就不能一样对待,就像有些人当了官以后周围的人对他跟以前不一样了,自己也和以前的不一样了一个道理!这就进入一个哲学的范畴,“她还是原来的她吗?”,渭河还是原来一起走过的那条渭河吗? 所以用这种控件,看似不起眼的类型不要想当然选择才行。同样如果是string类型,那赋值时要给editValue符字符串,尽管符数字程序运行也可以取到值,并不会任何错误。问题是你的默认选项出不来。
使用DEV express控件radiogroup无法显示默认值的问题解读
最新推荐文章于 2024-04-19 14:50:31 发布