Tenho contextMenuStrip no form mais nao consigo pegar.
Ola pessoal! Mais uma vez problemas em mapear os itens de um form.
Crie um form que tem entre outros itens um contextMenuStrip com uns toolStripMenuItem.
Ate aqui tudo bem.
No final do programa preciso identificar todos os toolStripMneuItem de todos os form e para isso criei esse método abaixo de funcionamento simples.
public List<ToolStripMenuItem> SelecionaMenusPopUpDosFormularios(Form formulario)
{
List<ToolStripMenuItem> MeusItems = new List<ToolStripMenuItem>();
ContextMenuStrip menuStrip = new ContextMenuStrip();
foreach (var item1 in formulario.Controls)
{
if (item1.GetType() == typeof(ContextMenuStrip))
{
foreach (var item2 in ((ContextMenuStrip)item1).Items)
{
MeusItems.Add((ToolStripMenuItem)item2);
}
}
}
return MeusItems;
}
O método recebe um form e percorre os controles buscando o ContextMenuStrip achando ele registra apenas o primeiro nível dos toolStripMenuItem .
O problema é que o contextMenuStrip ta la no form mais aqui nos Controls ele não o encontra.
Observei pelas telas de Debug do intelisence que o ContextMenuStrip e seus toolStripMenuItem existe numa lista de componentes ou container mais como chego ate ele por código apartir da instancia de um formulário já que não estão em Controls.
Se alguém puder me orientar o caminho sera de grande ajuda. Gostaria de entender por que não esta nos Controls já que e um controle do form.
Discussão (6)
Carregando comentários...