【发布时间】:2013-11-11 22:27:50
【问题描述】:
我有一个动态创建一组控件的 VB.NET 表单。如果窗体上要查看的控件太多,窗体将显示滚动条。 (这是一个自动滚动表单。)
用户可以向下滚动并单击一个按钮,该按钮会导致表单发生巨大变化。它会销毁所有控件并根据用户输入绘制新控件。
我注意到,如果用户滚动到表单底部并单击按钮,当我销毁并创建新控件时,它们不会位于我想要的位置。似乎将它们相对于窗体的可见部分而不是顶部的顶部。
例子:
checkbox1.top = 50
checkbox1.left = 15
如果滚动条一直在底部,复选框应该放在表单可见部分的上方。相反,它是在距离我能看到的顶部 50 像素处绘制的。
请帮忙。如何使其将控件放置在绝对位置,而不是相对于滚动条的当前位置?
【问题讨论】:
-
使用 SuspendLayout + ResumeLayout(true) 方法的少数几个好理由之一。