将多个动态创建的用户控件分隔开来

时间:2014-10-04 21:31:04

标签: vb.net winforms user-controls

所以我想要做的是创建我的usercontrol的多个实例 enter image description here

虽然我仍然坚持找到一种方法让他们在彼此旁边,就像在下一个创建之间有5个像素的空间。

1 个答案:

答案 0 :(得分:1)

一种方法是拥有一个动态计算它的函数。我还没有对此进行测试,但它应该可行。你只需要调用doGetAppXPosition,它会循环到你控件的所有实例,并将最后一个实例作为下一个x位置。

Dim App As New AppTab()
With App
    ...
    .Location = New Point(doGetAppXPosition, 5)
    ...
End With
Me.Controls.Add(App)

Private Function doGetAppXPosition() as Integer

    Dim xpos as Integer = 5
    For Each oControl As Control In YourForm.Controls
            If TypeOf oControl Is AppTab Then
                xpos = oControl.Right + 5
            End If
    Next

    Return xpos
End Function