2009-12-16 14 views
0

J'ai cherché ici et je n'ai pas trouvé exactement ce que je cherchais.ContextMenuStrip problème de référence d'article

J'utilise un ContextMenuStrip, dans ce il y a un élément de menu qui est un élément cochée/décochée. La structure est la suivante:

Niveau supérieur: Réglages au niveau intermédiaire: Traitement de niveau inférieur: traitement manuel

Je ne peux pas trouver un moyen d'accéder à l'élément de niveau inférieur, pour le définir comme coché ou décoché.

Quelqu'un peut-il aider s'il vous plaît?

Répondre

3

Vous ne savez pas si je suis la question. Connaissez-vous le nom de "l'élément de niveau inférieur"? Si oui simplement référence par son nom:

bottomLevelMenuItem.Checked = true; 

Si vous ne connaissez pas le nom que vous pouvez faire une boucle à travers le Items ou DropDownItems (en fonction du type MenuItem) collection de commande pour trouver celui que vous voulez.

foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items) 
{ 
    ... 
} 

Edit:

Corriger, ToolStripItem ne dispose pas d'une propriété checked. C'est une classe de base pour de nombreux objets de la barre d'outils, dont certains ne supportent pas la vérification. Dans ce cas, vous avez probablement affaire à ToolStripMenuItem s qui ont une propriété checked.

Essayez ceci:

ToolStripMenuItem menuItem = this.cmuSystemTray.Items["TLSETTINGS"] as ToolStripMenuItem; 
if (menuItem != null) 
{ 
    menuItem.Checked = true; 
} 

Encore une fois que chaque Control (ToolStripMenuItem) a un nom qui lui est associé il serait plus facile d'utiliser la variable d'origine plutôt que de passer par la propriété Items de la bande de menu contextuel.

TLSETTINGS.Checked = true; // Assuming TLSETTINGS is the name 
+0

Ce que je veux dire est-ce que je fais quelque chose comme ce qui suit: ToolStripItem TItem = this.cmuSystemTray.Items [ "TLSETTINGS"] J'ai essayé les this.cmuSystemTray.Items [ "TLSETTINGS"] et. Vérifié n'était pas une propriété que je pouvais accéder – mattgcon

+0

Je m'excuse que c'était midleading à vous tous. En fait TLSETTINGS est le "nom" pour l'élément de menu de niveau supérieur. L'élément TLMANUAL se trouve dans le menu déroulant TLSETTINGS. Donc j'ai besoin de référencer l'article LTMANUEL. Voici ce que j'ai et je suis bloqué: De ce point, je ne peux pas obtenir les éléments de niveau inférieur dans l'iItem Quelqu'un peut-il m'aider ou diriger un bon exemple en ligne? – mattgcon

+0

Ohhhhhh, peu importe, je comprends de quoi vous parlez maintenant, je ne savais pas que c'était disponible pour moi. Cela rend beaucoup plus facile merci pour votre aide. – mattgcon