【问题标题】:.NET Vertical Scrollbar not Respecting Maximum Property.NET 垂直滚动条不尊重最大属性
【发布时间】:2011-02-22 09:23:52
【问题描述】:

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

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

为什么会这样?

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

【问题讨论】:

    标签: c# .net winforms scrollbar


    【解决方案1】:

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

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

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

    【讨论】:

    • 你说得对;我正要说同样的话。最糟糕的是,这种奇怪的设计完全没有文档记录。
    • 文档的要点。就我而言,-1 是一个神奇的数字。对于这样一个通用的控件,微软非常草率!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 2017-06-23
        • 2022-01-11
        • 2014-11-07
        • 2019-07-20
        相关资源
        最近更新 更多