我在一个名为Criteria
的Form
上有一个名为Panel_Manage_Calculations
的Panel
。 我有默认值 False 的可见属性。 当我从我的MenuStrip
调用它时,使用以下代码调用MenutStrip_Main
:
Private Sub ManageCalculationsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ManageCalculationsToolStripMenuItem.Click
Criteria.Panel_Manage_Calculations.Show()
End Sub
它不显示。 但是如果我在Criteria
上放一个按钮并使用以下代码:
Private Sub Button4_Click(sender As Object, e As EventArgs)
Panel_Manage_Calculations.Show()
End Sub
它将显示。
Criteria
上唯一的另一个对象是DataGridView
。
如何让Panel_Manage_Calculations
在从MenutStrip_Main
调用时显示?
附加信息
在我单击之前可能运行的唯一其他代码是:
Private Sub AddToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem_Criteria.Click
For Each mdiChild As Form In Me.MdiChildren
If mdiChild.Name = "Criteria" Then
mdiChild.Activate()
Exit Sub
End If
Next
Dim frmClientConfig As New Criteria
frmClientConfig.MdiParent = Me
frmClientConfig.Show()
End Sub
您的菜单项单击可能无法正确连接,例如,句柄...子句可能引用较旧的名称,也可能只是被禁用。 如果事件没有触发,则它是菜单的事情。 尝试为代码创建新的菜单项。
编辑
如果事件没有触发,可能是因为 a( 菜单项未启用(也许(它在代码中被禁用,b( 它缺少似乎不是这种情况的处理程序或 C( 其他东西附加了该处理程序或 D( 引用了错误的表单
编辑编辑
好的,所以我们有多个MDI表单。 基于AddToolStripMenuItem,它应该是这样的:
Private Sub ManageCalculationsToolStripMenuItem_Click(sender As Object, _
e As EventArgs) Handles ManageCalculationsToolStripMenuItem.Click
frmClientConfig.Panel_Manage_Calculations.Show()
End Sub
条件是表单名称(类(,实例名称是frmClientConfig
。 您需要修改此表单的处理方式:
private frmClientConfig As Criteria ' at the top of the MDI parent
在菜单中,单击添加:
frmClientConfig = New Criteria
frmClientConfig.MdiParent = Me
frmClientConfig.Show()
这是必需的,以便菜单单击将知道什么是frmClientConfig
。 问题是您向类而不是实例发出Show
(这似乎应该引发错误(。 当心NEW
应该在哪里使用!