【问题标题】:How do I know the current width of system scrollbar?我如何知道系统滚动条的当前宽度?
【发布时间】:2010-10-25 19:24:45
【问题描述】:

如您所知,可以在显示属性 -> 外观 -> 高级 -> 项目:滚动条中自定义滚动条的宽度。默认值为 17。但是,我不能假设总是如此,我可以检索这个值吗?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    查看System.Windows.Forms.SystemInformation 类成员:HorizontalScrollBarHeightVerticalScrollBarWidth

    【讨论】:

      【解决方案2】:

      垂直滚动条宽度

      System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
      

      【讨论】:

        【解决方案3】:

        如果您想知道ScrollableControl 的大小减去滚动条的大小,最简单的方法是使用Control.ClientSize 属性。

        来自documentation

        获取或设置控件客户区的高度和宽度。 控件的客户区是控件的边界,减去滚动条等非客户元素、边框、标题栏和菜单。

        【讨论】:

        • 不幸的是,ClientSize 还包括滚动条的宽度(产生与 ActualWidth 相同的值)。虽然没有意义。
        【解决方案4】:

        跳过控件的 ClientSize 属性。至少在 VS2013 中,滚动条包含在 ClientSize 中。

        当我格式化一个宽度为 304 和垂直滚动条的 RichTextBox 时,Client Size 宽度为 300,仅占边框。

        坚持使用 System.Windows.Forms.SystemInformation.VerticalScrollBarWidth 来获取滚动条宽度。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-02-13
          • 2012-11-29
          • 1970-01-01
          • 1970-01-01
          • 2021-08-18
          • 2010-09-16
          • 2012-08-29
          相关资源
          最近更新 更多