Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GGerminiani

MenuStrip Dinâmico

Recommended Posts

Prezados,

Bom dia.

 

Com muita luta, consegui fazer um menu strip Dinâmico - ele lé nós de um arquivo XML que criei, pois ao longo do projeto os menus pode mudar de lugares ou serem adicionado dinamicamente.

 

Enfim, menu criado com sucesso! :joia:

 

Mas o grande problema... criar evento nos botões que ainda nem existem... :no:

 

Bom, vamos lá...

 

Na verdade consegui um caminho, só não estou conseguindo continuar, vejam:

 

Quando clico num MENU BASE do MenuStrip, com o Evento ITEMCLICKED consigo chamar a janela que desejo:

 

2hp39qq.jpg

 

Mas quando o menu é um SubMenu, não funciona no ITEMCLICKED:

qpjy1z.jpg

 

 

Abaixo o código do evento ItemClicked...

 

    Private Sub BaseMenuStrip_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles BaseMenuStrip.ItemClicked

        Select Case e.ClickedItem.ToString()
            Case "Controle de Menus"
                ControleMenus.MdiParent = Me
                ControleMenus.Show()
            Case "Troca de E&mpresa"
                LoginForm.TrocaUser = True
                Me.Hide()
                LoginForm.Show()
        End Select

    End Sub

Obrigado,

Gustavo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

x



Pessoal, consegui!

 

O que fiz?!??! Não tenho muita ideia, MAS FUNCIONOU (fui pegando uns códigos e montando as coisas)! Bem Go Horse mesmo hehehehe

 

Primeiro criei o método AssinaEventos

    Private Sub AssinaEventos(ByVal tsc As ToolStripItemCollection)
        For Each ts As ToolStripMenuItem In tsc
            AddHandler ts.Click, AddressOf EventoMenu_Click
            Call AssinaEventos(ts.DropDownItems)
        Next ts
    End Sub

 

 

Segundo método

    Private Sub EventoMenu_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        
        Select Case sender.ToString()
            Case "Troca de E&mpresa"
                SelecionaEmpresaForm.Show()
            Case "Sair"
                Me.Close()
        End Select
        
    End Sub

e no LoadForm usei o

Call AssinaEventos(BaseMenuStrip.Items)

 

Funcionou... hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.