【问题标题】:How to manipulate the LargeChange and SmallChange on a scrollbar to work如何操作滚动条上的 LargeChange 和 SmallChange 工作
【发布时间】:2008-09-25 19:00:47
【问题描述】:

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

picture with 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。而且谁都知道,看到一半不好。

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

【问题讨论】:

    标签: c# scrollbar


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 2019-05-16
        相关资源
        最近更新 更多