Vb.net 如何隐藏继承的菜单条?
我有一个表单需要继承一个基表单。问题是基本表单有一个菜单条。我正在处理的表单上不应该有任何菜单Vb.net 如何隐藏继承的菜单条?,vb.net,winforms,Vb.net,Winforms,我有一个表单需要继承一个基表单。问题是基本表单有一个菜单条。我正在处理的表单上不应该有任何菜单 如何隐藏继承的菜单条?或者,如何将继承的菜单替换为我在新表单中构造的内容?在基本表单类中,将菜单条创建代码从InitializeComponent()提取到虚拟方法中,然后在新表单中重写该方法。这样做的缺点是您失去了对基本表单中菜单的可视化设计器支持。在基本表单类中,将菜单条创建代码从InitializeComponent()提取到虚拟方法中,然后在新表单中重写该方法。这样做的缺点是您失去了对基本表单
如何隐藏继承的菜单条?或者,如何将继承的菜单替换为我在新表单中构造的内容?在基本表单类中,将菜单条创建代码从InitializeComponent()提取到虚拟方法中,然后在新表单中重写该方法。这样做的缺点是您失去了对基本表单中菜单的可视化设计器支持。在基本表单类中,将菜单条创建代码从InitializeComponent()提取到虚拟方法中,然后在新表单中重写该方法。这样做的缺点是您失去了对基本表单中菜单的可视化设计器支持。我找到了另一种方法,我最终实际使用了这种方法 如果不需要以该特定形式再次显示菜单,则可以像往常一样初始化所有组件。然后,只需在基类中创建一个公共方法,如
HideMainMenu()
,在运行所有Init之后调用该方法,它只执行以下操作:
您可以通过执行以下操作再次显示菜单
但我还没有尝试过…我找到了另一种方法,实际上我最终使用了它 如果不需要以该特定形式再次显示菜单,则可以像往常一样初始化所有组件。然后,只需在基类中创建一个公共方法,如
HideMainMenu()
,在运行所有Init之后调用该方法,它只执行以下操作:
您可以通过执行以下操作再次显示菜单
但是我还没有尝试过…这是否意味着我必须找到继承基本表单的所有其他表单,并确保调用新的初始化方法?因为这恐怕不是一个选项。否:如果在基本窗体中从Load调用菜单初始化方法,当您不想显示菜单时,只需在这些实例中重写该方法。这是否意味着我必须找到继承基本表单的所有其他表单,并确保调用新的初始化方法?因为我恐怕这不是一个选项。否:如果在基本窗体中从Load调用菜单初始化方法,那么当您不希望显示菜单时,您需要做的就是在这些实例中重写该方法。
Public Sub HideMainMenu()
Me.Menu = Nothing
End Sub
Public Sub ShowMainMenu()
Me.Menu = Me.myPrivateMainMenu
End Sub