vb.net在SplitContainer1.Panel1中按location依次添加button,当出现滑动框并滑动的时候,button添加的逻辑位置产生错误
时间: 2024-03-13 17:43:51 浏览: 73
在SplitContainer1.Panel1中按照Location依次添加Button时,如果滑动框滑动的话,Button的位置可能会发生错误,因为滑动框会改变Panel1中控件的位置。为了解决这个问题,可以使用SplitContainer1.Panel1.AutoScrollPosition属性来调整Button的位置。以下是一个示例代码:
```
Dim btn As New Button()
btn.Text = "Button"
btn.Location = New Point(10, 10 + (30 * SplitContainer1.Panel1.Controls.Count))
SplitContainer1.Panel1.Controls.Add(btn)
Dim autoScrollPos As Point = SplitContainer1.Panel1.AutoScrollPosition
btn.Location = New Point(btn.Location.X - autoScrollPos.X, btn.Location.Y - autoScrollPos.Y)
```
这个示例代码会在SplitContainer1.Panel1中添加一个名为"Button"的Button控件,并将它的位置设置为(10,10)。每当添加一个Button时,它的Y坐标会增加30个像素,以便让它们按顺序排列。在调整Button的位置时,我们使用了SplitContainer1.Panel1.AutoScrollPosition属性,这个属性会返回滑动框滑动后Panel1中控件的位置。最后,我们将Button的位置减去AutoScrollPosition的值,这样就可以正确地调整Button的位置了。
阅读全文