Problema de referência do item do contexto do contexto
-
20-09-2019 - |
Pergunta
Eu procurei aqui e não encontrei exatamente o que estou procurando.
Estou usando um contextMenustrip, dentro disso, há um item de menu que é um item verificado/desmarcado. A estrutura é a seguinte:
Nível superior: Configurações Nível médio: Processando Nível inferior: Processamento manual
Não consigo encontrar uma maneira de acessar o item de nível inferior, para defini -lo como verificado ou desmarcado.
Alguém pode ajudar?
Solução
Não tenho certeza se estou seguindo a pergunta. Você sabe o nome do "item de nível inferior"? Se sim, basta fazer referência por nome:
bottomLevelMenuItem.Checked = true;
Se você não souber o nome, você pode dar um pau através do Items
ou DropDownItems
(Dependendo da coleção de controle do tipo menuitem) para encontrar o que você deseja.
foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items)
{
...
}
Editar:
Correto, Toolstripitem não possui uma propriedade verificada. É uma classe base para muitos objetos de tira de ferramentas, alguns dos quais não suportam a verificação. Nesse caso, você provavelmente está lidando com Toolstripmenuitems que têm uma propriedade verificada.
Experimente isso:
ToolStripMenuItem menuItem = this.cmuSystemTray.Items["TLSETTINGS"] as ToolStripMenuItem;
if (menuItem != null)
{
menuItem.Checked = true;
}
Novamente, cada um Control
(ToolStripMenuItem
) tem um nome associado a ele, para que seria mais fácil usar a variável original do que passar pelo Items
propriedade da faixa de menu de contexto.
TLSETTINGS.Checked = true; // Assuming TLSETTINGS is the name