MENUSTRIP DINAMICO

GGERMINIANI 22/07/2013 11:49:22
#426361
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!

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

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:


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



Abaixo o código do evento ItemClicked...

Citação:

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.
GGERMINIANI 22/07/2013 17:20:41
#426378
Achei este artigo que tem absolutamente tudo a ver com o que preciso... mas não entendi o código...
http://social.msdn.microsoft.com/Forums/pt-BR/12abc7a8-b700-4235-bf36-525fab4cd33a/menustrip-como-acessar-os-subitens

GGERMINIANI 22/07/2013 17:43:53
#426381
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
Citação:

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
Citação:

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
Citação:

Call AssinaEventos(BaseMenuStrip.Items)



Funcionou... hehehe
Tópico encerrado , respostas não são mais permitidas