【发布时间】:2012-10-29 21:35:25
【问题描述】:
在面板中,我绘制了控件,例如按钮/文本框,位于面板中从 (0,0) 开始。这些控件在开始时是不可见的和禁用的。我在面板外有一个按钮,可以在按下时使这些按钮/文本框可见,并将它们定位到面板中的新位置。
问题是如果用户将面板滚动到某个 (x,y) 然后按下“使可见”按钮,按钮的新 (x,y) 位置是根据当前 (x,y) 位置计算的面板 - 不是从面板的顶部 (0,0)。
我想知道这是否是面板的正确行为,要解决此问题,我需要在重新定位按钮时将 this.VerticalScroll.Value 视为 (x,y) 偏移量。
【问题讨论】:
-
您需要使用面板的 AutoScrollPosition 属性来调整按钮的位置。
-
图片插图有助于展示预期和当前的行为。
-
我有一张照片,但无法发布...需要更多关于 SO 的声誉。 @HansPassant 来自 MSDN AutoScrollPosition 看起来像我需要的。myButton.Location = new Point(0 + panel1.AutoScrollPosition.X, 0 + panel1.AutoScrollPosition.Y);
-
@Neolisk 上面代码中的0是我要绘制的按钮的位置?
-
@user66896:发个链接,我编辑成图片。