1

我想要做的是制作一个自定义的 MenuStrip 控件,其中已经附加了几个项目(主菜单、注销、退出等)。会有一些方法来处理被点击的项目。我认为从长远来看,这会为我节省一些冗余代码,我也可能会学到一些东西。

最终产品基本上是一个自定义的 MenuStrip 控件,我可以将它放在我的表单上,并且已经具有其中项目的功能。

所以我的问题是,这可以做到吗?我是新手,但如果可以做到并且实际上是一个好主意,那么我想试一试。

错误比比皆是,但这就是我的想法......

Public Class MenuStripCustom
    Inherits MenuStrip

    Add MenuItem(MainMenuToolStripMenuItem)
    MainMenuToolStripMenuItem.Text = Main Menu

        Protected Sub MainMenuNav(e As System.EventArgs) _
            Handles MyBase.MainMenuToolStripMenuItem.Click
        MainMenu.Visible = True
        Me.Close()
    End Sub

End Class

谢谢!

4

1 回答 1

3

是的,可以做到没有问题。只需创建一个新的用户控件,并使其继承自 MenuStrip。然后为名为“UserControl1”的用户控件输入类似于下面的代码。

Public Class UserControl1
    Inherits MenuStrip

    Private WithEvents NavToolStrip As New ToolStripMenuItem("Nav")

    Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        Dim tsi As New ToolStripMenuItem
        Me.Items.Add(NavToolStrip)
    End Sub

    Private Sub NavToolStrip_Click(sender As Object, e As EventArgs) Handles NavToolStrip.Click
        MsgBox("Nav clicked")
    End Sub
End Class

编译代码,然后您将能够将“UserControl1”从您的工具箱拖到您的表单上。

于 2012-11-01T09:31:06.373 回答