gpt4 book ai didi

c# - 如何确定滚动条的正确最大值 c# .NET(Windows 是怎么做到的?)

转载 作者:行者123 更新时间:2023-11-30 16:15:34 25 4
gpt4 key购买 nike

enter image description here

在进入我的问题之前,让我解释一下我的设置:

首先: 我有一个 PictureBox,其中包含一个在运行时生成的位图。此位图可以有不同的宽度,但始终保持相同的高度。

第二: PictureBox 不支持滚动,因此,我将 PictureBox 停靠在面板中。最初,我使用了面板的自动滚动功能,但在发现 through this article 后放弃了它。 PictureBoxes 有大小限制。我还了解到最好使用小的 PictureBoxes 并且只绘制需要看到的内容而不是整个图像。

第三: 所以我添加了一个 HScrollBar,它非常好,但我似乎无法弄清楚滚动条有多大背后的数学原理。我尝试将滚动条的最大值设置为位图的长度,但如您所见,滚动条的大小在我的中比使用自动滚动功能时 Windows 放入的要小得多。

我的问题是,滚动条大小背后的数学原理是什么?我如何在我的自定义滚动条中模拟它?

如果我的问题不清楚,请告诉我,我会尽力使其更易于理解。提前感谢您的帮助!

最佳答案

我想出了问题所在。也许我应该再试一试。 :)

答案在于 LargeChange 属性。我让 Maximum 位于位图的总宽度,然后将 LargeChange 设置为我想要显示的宽度。 (即 PictureBox 的宽度)

“滚动条”的大小由 LargeChange 的值与 Maximum 的值的比率决定。例如,如果要显示的宽度 (LargeChange) 为 100,总宽度 (Maximum) 为 300,则“滚动条”大小将为滚动条的 1/3长度。 (100/300)。

关于c# - 如何确定滚动条的正确最大值 c# .NET(Windows 是怎么做到的?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com