【发布时间】:2012-02-16 07:10:11
【问题描述】:
这是一个windows窗体。
面板有 AutoScroll = True
我正在向主面板动态添加面板,最终超出主面板显示矩形。 然后将标签、组合框和文本框添加到添加的面板中。
如果我选择一个组合框或文本框,它将主面板滚动条位置重置为 0,并且组合框的下拉菜单将放置在屏幕 X、Y 上,如果滚动条没有重置。
我正在考虑在选择控件时保存滚动位置。经过测试,滚动位置似乎还没有重置,所以我可以在这里捕获它。然后在我希望的面板的某些事件上恢复滚动位置。 我正试图找出我将使用什么事件来恢复滚动位置。我还希望当我这样做时下拉菜单将放置在正确的 x,y 处。
更好的解决方案是创建基于面板控件的自定义控件并可能覆盖事件?这样我就不需要在每次使用滚动面板时都保存滚动位置而弄乱我的项目。
【问题讨论】:
-
似乎如果我选择控件一次它会跳转到顶部,那么如果我在再次向下滚动后再次选择相同的控件,滚动条位置将不会被重置。