VB.net - Производный класс от MenuStrip

То, что я пытаюсь сделать, - это создать собственный элемент управления 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

Спасибо!

1 ответ

Решение

Да, можно сделать без проблем. Просто создайте новый пользовательский элемент управления и сделайте его наследником от 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" из вашей панели инструментов в форму.

Другие вопросы по тегам