Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何隐藏继承的菜单条?_Vb.net_Winforms - Fatal编程技术网

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