关于 c#:.NET 垂直滚动条不尊重最大属性

.NET Vertical Scrollbar not Respecting Maximum Property

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

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

这是为什么呢?

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


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

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

对我来说似乎不是很直观,但你去吧。


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


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

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

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