滚动到具有大量内容的UserControl结束的C#问题

时间:2011-01-24 00:48:57

标签: c# .net winforms user-controls

我创建了UserControl,其中包含一些其他控件,这些控件也放置在我的控件的可见部分的外部区域,以使垂直滚动条出现,如预期和所需行为。

一切正常,直到控件的大小,数量和位置都不会超过某些值。我说一些因为我无法确定我超过了哪个值,因此我的控制工作不太好。

我的UserControl中的控件数量可能从几个到几千不等,具体取决于具体情况。控件大小相同,以行/列显示。用户在UserControl的可见部分中看到的行数和列数取决于内部控件的大小。据我所知,我应该可以操作位置值 int 的最大值。但似乎我做错了什么,导致测试事情不能正常工作。

虽然我的UserControl底部的 Location.Y 控件值是 49150 ,但控件的滚动并没有让我无法接近该值 VScrollBar.maximum 无论我放了多少控件,他们的 Y位置将永远不会超过 32896

当我更改UserControl的大小或内部控件的大小时,最后一个控件的 Location.Y 不是太远,一切都很好。

有什么方法可以修复VScrollBar,或者做任何其他事情让我的控件完全按照我的需要工作,或者其他任何可能导致这种问题的工作?

MTH

1 个答案:

答案 0 :(得分:1)

看起来这是基于最初创建winforms时的大小限制,当所有内容都是16位时。