CREARE DINAMICAMENTE UN MENU A TENDINA CON VBNET

  Private Sub creaMenu()

        ' dichiaro il mio nuovo menu a tendina

        menu = New MenuStrip

 

        'aggiungo un elemento del menu a tendina che chiameremo menuFile con etichetta "FILE"

        Dim menuFile As New ToolStripMenuItem("FILE")

 

        'Creo un'altro elemento che chiameremo menuInvia con etichetta "Invia Tramite"

        Dim menuInvia As New ToolStripMenuItem("Invia Tramite")

 

        'Creo un'altro elemento che chiameremo tipoMail con etichetta "Mail"

        Dim tipoMail As New ToolStripMenuItem("Mail")

 

        'Creo un'altro elemento che chiameremo whatsapp con etichetta "Whatsapp"

        Dim whatsapp As New ToolStripMenuItem("Whatsapp")

 

        'Aggiungo i sotto menu che voglio all'elemento tipoMain, in questo caso : "Gmail" e "Hotmail"

        With tipoMail

            .DropDownItems.Add("Gmail")

            .DropDownItems.Add("Hotmail")

 

            'aggiungo la maniglia all'evento Click del primo elemento (Gmail)

            AddHandler .DropDownItems(0).Click, AddressOf InviaConGmail

 

            'aggiungo la maniglia all'evento Click del secondo elemento (Hotmail)

            AddHandler .DropDownItems(0).Click, AddressOf InviaConHotmail

        End With

 

        'creo il menuInvia aggiungendo gli elementi : whatsapp & tipoMail

        With menuInvia

            .DropDownItems.AddRange(New ToolStripMenuItem() {whatsapp, tipoMail})

        End With

 

        'Preparo il menu

        With menu

            'Imposto il menu FILE

            With menuFile

                'aggiungo il sottomenu  menuInvia

                .DropDownItems.AddRange(New ToolStripMenuItem() {menuInvia})

                'essendo solo un menu avrei potuto anche scrivere: .DropDownItems.Add(menuInvia)

 

                'se c'è solo un menu senza sotto menu, anzichè dichiarare un nuovo elemento esci

                'Dim esci As New ToolStripMenuItem("Exit")

                'per poi aggiungerlo con il comando: .DropDownItems.Add(esci)

                'posso scrivere direttamente .DropDownItems.Add(nome dell'etichetta che voglio,

                'in questo caso "Exit")

                .DropDownItems.Add("Exit")

 

                'Aggiungo la maniglia al secondo elemento (Exit)

                AddHandler .DropDownItems(1).Click, AddressOf frmTrasferimento.Close

            End With

 

            'Aggiungo il menuFile al mio menu

            .Items.AddRange(New ToolStripMenuItem() {menuFile})

        End With

 

        'Aggiungo il controllo menu al mio Form in questo caso frmTrasferimento

        frmTrasferimento.Controls.Add(menu)

    End Sub



OTTENENDO QUESTO RISULTATO