如何操纵滚动条上的LargeChange和SmallChange起作用

时间:2020-03-06 14:44:29  来源:igfitidea点击:

我在Capplication的一个窗口中有许多面板,我创建了2个滚动条,一个滚动条用于水平,一个垂直条。这是我目前拥有的:

带有2个scroolbars的图片http://www.simnet.is/elinnils52/scrollbar.jpg

我有1个变量,这是所有物品需要和需要的总高度。
这是我的滚动更改代码:

for (int i = 0; i < this._splitMainView.Panel2.Controls.Count; i++)
{
    this._splitMainView.Panel2.Controls[i].Location = new Point(
        3 - _scrollBarX.Value, 
        3 + (132 + 6) * (i - 2) - _scrollBarY.Value);
    this._splitMainView.Panel2.Controls[i].Refresh();
}

滚动条的最大值是所有容器高度,其间的空间以及几个像素的总和。

正如我们从图片中看到的那样,它看起来并不好。即使在这种情况下,最大值大约为50 100像素,它仍然看起来像一千页。当我更改SmallChange和LargeChange时,滚动条本身会加长,但不会达到最大像素。它将几乎可以到达末尾(取决于SmallChange和LargeChange值),并剩下约5 29 px。众所周知,看到一半是不好的。

有谁知道如何克服这个障碍或者实现它的更好方法?

解决方案

为什么不仅仅使滚动条的最大值溢出(可见区域高度面板高度)?然后只需将面板顶部设置为滚动条的值* -1.

是否有理由不使用AutoScroll属性?