从MenuStrip调用时,Panel不会显示

时间:2013-10-10 19:22:57

标签: vb.net panel show show-hide menustrip

我在名为Panel的{​​{1}}上有一个名为Panel_Manage_Calculations的{​​{1}}。我有可见属性默认值为False。当我使用此代码从名为Form的{​​{1}}调用它时:

Criteria

没有显示。但是如果我在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

1 个答案:

答案 0 :(得分:1)

例如,您的MenuItem Click可能未正确连接,Handles ...子句可能引用较旧的名称,或者可能只是禁用。如果事件没有触发,那就是菜单。尝试为代码创建新的菜单条目。

修改

如果事件没有触发,可能是因为a)菜单项未启用(PERHAPS)它在代码中被禁用,b)它缺少一个看起来不是这样的HANDLER或C)ELSE有的东西处理程序附加或D)引用错误的表单

编辑编辑

好的,我们有多个MDI表单。基于AddToolStripMenuItem,它应该是这样的:

Private Sub ManageCalculationsToolStripMenuItem_Click(sender As Object, _
        e As EventArgs) Handles ManageCalculationsToolStripMenuItem.Click

        frmClientConfig.Panel_Manage_Calculations.Show()
End Sub

Criteria是表单名称(Class),实例名称是frmClientConfig。您需要重新处理此表单的处理方式:

    private frmClientConfig As Criteria      ' at the top of the MDI parent

在菜单添加点击:

   frmClientConfig = New Criteria
   frmClientConfig.MdiParent = Me
   frmClientConfig.Show()

这是必需的,以便菜单点击将知道frmClientConfig是什么。问题是你向类发出Show而不是实例(看起来它应该抛出错误)。请注意应该使用NEW的地方!