C# NumericUpDown控件的十六进制输入问题求大神赐教 10
求教!!!我将两个DataGridView单元格初始化成了NumericUpDown控件,然后将第一个其最大值设置成2^32-1=4294967295,最小值设置成0;第...
求教!!!
我将两个DataGridView单元格初始化成了NumericUpDown控件,然后将第一个其最大值设置成2^32-1=4294967295,最小值设置成0;第二个最大值设置成255,最小值为0
在使用中发现,若这两个单元格都使用10进制显示,那么控件操作正常,能正常输入最大值;若是将NumericUpDown设置成16进制操作的话,就出现问题了(修改Hexadecimal属性)
对于最大值为255的单元格,当我输入最大值FF的时候能操作正常;
但是对于2^32-1那个单元格,我输入7个F的时候还没问题,但是只要我输入第8个F时,其立马把控件的value设置成了0,求高手帮忙呀!
找到原因了,是控件的那个Hexadecimal属性引起的,如果用十六进制显示的话,那么其能接收的最大值是Int32,而非Uint32。
此时只要我键盘输入的数据大于Int32.MaxValue的话,就自动跳转成value=0。但是如果我先输入最大值0x7FFFFFFF,再使用右边的那种Up按钮的话,则可以继续增大数值
现在我必须重写这个类,以达到允许输入的最大数据为Uint32,求具体代码指导,本人完全新手!
请发我邮箱275504346@qq.com,谢谢! 展开
我将两个DataGridView单元格初始化成了NumericUpDown控件,然后将第一个其最大值设置成2^32-1=4294967295,最小值设置成0;第二个最大值设置成255,最小值为0
在使用中发现,若这两个单元格都使用10进制显示,那么控件操作正常,能正常输入最大值;若是将NumericUpDown设置成16进制操作的话,就出现问题了(修改Hexadecimal属性)
对于最大值为255的单元格,当我输入最大值FF的时候能操作正常;
但是对于2^32-1那个单元格,我输入7个F的时候还没问题,但是只要我输入第8个F时,其立马把控件的value设置成了0,求高手帮忙呀!
找到原因了,是控件的那个Hexadecimal属性引起的,如果用十六进制显示的话,那么其能接收的最大值是Int32,而非Uint32。
此时只要我键盘输入的数据大于Int32.MaxValue的话,就自动跳转成value=0。但是如果我先输入最大值0x7FFFFFFF,再使用右边的那种Up按钮的话,则可以继续增大数值
现在我必须重写这个类,以达到允许输入的最大数据为Uint32,求具体代码指导,本人完全新手!
请发我邮箱275504346@qq.com,谢谢! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询