.NET垂直滚动条不尊重最大属性

时间:2010-05-21 14:12:14

标签: c# .net winforms scrollbar

我有一张表格并在其上放了一个垂直滚动条。

无论我将“最大”属性设置为什么,滚动条只会向上滚动到该值减去9。

为什么?

我在Visual Studio 2008中使用C#。(WinForms)

3 个答案:

答案 0 :(得分:25)

经过一番研究,我发现滚动条只能达到它的最大值减去滚动条滑块的大小。

滑块的大小似乎等于(LargeChange - 1)。

对我来说似乎不太直观,但你去了。

答案 1 :(得分:0)

LargeChange属性的默认值为10。当通过单击向右箭头增加滚动条时,将使用此值。如果要通过鼠标单击显示所有值(假设为1,2,3,4,...),请设置LargeChange = 1

答案 2 :(得分:-1)

我喜欢滚动条作为快速输入设备,但这里指出的错误是一个问题。 Syed 是对的,您只需将 LargeChange 属性减少到 1,滚动条就会移动到其最大值。

但是,如果您想将 LargeChange 属性保持在某个较大的值,例如 10 以进行快速滚动,请使用 ValueChanged 事件。当值低于 90(或低于 Maximum - LargeChange)时,将 LargeChange 属性保留为 10。当值变为 90 或更高时,将 LargeChange 属性更改为 1。

这允许滚动条正常运行(或非常接近正常运行),同时仍达到其最大值。