访问 UserControl 成员的属性
Access in UserControl Member's Properties
我创建了一个包含三个面板的用户控件
我将此 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
结束Class
我也在我的 Form.vb 中定义了我的用户控件和面板
Public UserControl1 As New UserControl
Public Panel1_Paint As New Panel
Public Panel2_Paint As New Panel
Public Panel3_Paint As New Panel
没有看到你的更多代码,我假设函数调用可能有问题。
确保函数在事件中被调用。例如,如果将命令按钮添加到窗体,则可以将以下代码添加到 运行 以防单击该按钮:
Private Sub CommandButton1_Click()
Call Pan1
End Sub
希望对您有所帮助。
所以我的问题解决了。我无法在面板属性中访问,这就是为什么我在我的 UserControl.vb 中创建一个 Public Sub 并在我的表单中使用它。
这段代码写在我的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
我创建了一个包含三个面板的用户控件 我将此 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
结束Class
我也在我的 Form.vb 中定义了我的用户控件和面板
Public UserControl1 As New UserControl
Public Panel1_Paint As New Panel
Public Panel2_Paint As New Panel
Public Panel3_Paint As New Panel
没有看到你的更多代码,我假设函数调用可能有问题。
确保函数在事件中被调用。例如,如果将命令按钮添加到窗体,则可以将以下代码添加到 运行 以防单击该按钮:
Private Sub CommandButton1_Click()
Call Pan1
End Sub
希望对您有所帮助。
所以我的问题解决了。我无法在面板属性中访问,这就是为什么我在我的 UserControl.vb 中创建一个 Public Sub 并在我的表单中使用它。 这段代码写在我的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