在UserControl成员的属性中访问

时间:2015-08-01 18:28:01

标签: vb.net panel dynamic-usercontrols

我使用三个面板创建一个UserControl 我在我的主窗体中添加了这个UserControl,但我有一个问题,我无法选择在我的主窗体中显示哪个面板。 确切地说,我在下面有这个代码,以使我的Panel1

可见
Public Function Pan1()

    Panel3_Paint.Visible = False
    Panel2_Paint.Visible = False
    Panel1_Paint.Visible = True




    Return 0
End Function

所以在我点击stripMenu后,我试图在我的表单中出现第一个带有此功能的面板,但最后在我的主表单中出现了第三个面板。

我以这种方式使用我的功能

    Private Sub ClassAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClassAToolStripMenuItem.Click

              UserControl11.Visible = True
              Call Pan1()
    End Sub`

当我单击菜单中的特定按钮以显示相应的面板时,我会尝试 这就是为什么我尝试使用此功能,但我有问题,在我的表单中只出现第三个面板。

我的用户控制代码

Public Class UserControl1
Public Sub Panel3_Paint(sender As Object, e As PaintEventArgs) Handles Panel3.Paint

End Sub

Public Sub Panel2_Paint(sender As Object, e As PaintEventArgs) Handles Panel2.Paint

End Sub

Public Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint

End Sub

结束班

我也用我的Form.vb定义了我的UserControl和Panels

Public UserControl1 As New UserControl
Public Panel1_Paint As New Panel
Public Panel2_Paint As New Panel
Public Panel3_Paint As New Panel

2 个答案:

答案 0 :(得分:0)

如果没有看到更多代码,我假设函数调用可能存在问题。

确保在事件中调用该函数。例如,如果将CommandButton添加到表单,则可以添加以下代码以便在单击按钮时运行:

Private Sub CommandButton1_Click()

Call Pan1

End Sub

我希望这会有所帮助。

答案 1 :(得分:0)

所以我的问题解决了。我无法在Panel Properties中访问,这就是我在UserControl.vb中创建Public Sub并在我的Form中使用它的原因。 这段代码写在我的UserControl.vb

 Public Sub Pan1()
 Panel3_Paint.Visible = False
Panel2_Paint.Visible = False
Panel1_Paint.Visible = True



End Function

然后我以这种方式在我的表格中调用我的Sub

Private Sub ClassAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClassAToolStripMenuItem.Click


    UserControl11.Visible = True
    UserControl11.Pan1()


End Sub