使用hScrollBar控件中maxValue属性的细节问题
相信大家都用过hScrollBar控件,在使用hScrollBar时要设置minValue,maxValue,LargeChange,SmallChange这些比本属性,现在来说说maxValue属性的问题。
例如:
1
hScrollBar ss
=
new
hScrollBar();
2 ss.maxValue = 100 ;
3 ss.minValue = 0 ;
4 ss.LargeChange = 10 ;//点右剪头一次增加的值
5 ss.SmallChange = 10 ;
2 ss.maxValue = 100 ;
3 ss.minValue = 0 ;
4 ss.LargeChange = 10 ;//点右剪头一次增加的值
5 ss.SmallChange = 10 ;
运行代码,通过鼠标点击按钮,当点击右边按钮到最大值时,如图:
图1
图2
图1是按平时我们直接把控件拖上去,设置好属性,运行之后的结果。
此时,图1的Value 当前值为91,不会去100的。大家可以自己测试下
这是什么原因呢?我的理解是:Maximum是个相对值,而不是绝对值
事实上Value的值是只会去到Maximum + 1-SmallChange
好了,现在终于知道,为什么Value值永远不会等于maxValue了。
图2是这样设置就可以了:
hScrollBar1.Minimum = 0;
hScrollBar1.Maximum = 100;
hScrollBar1.LargeChange = 1;
hScrollBar1.SmallChange = 1;
hScrollBar1.Maximum = hScrollBar1.Maximum - 1 + hScrollBar1.LargeChange;