取消选择上下文菜单条上的工具条项

本文关键字:工具 取消 上下文 菜单 选择 | 更新日期: 2023-09-27 18:32:20

简单的问题:

我可以.Select一个ToolStripItem(例如,如果我在打开上下文菜单条时想要一个预选选项),但我似乎找不到一种方法将.Selected设置为 false 或以某种方式取消选择它!

可能吗?

取消选择上下文菜单条上的工具条项

ToolStrip 类中有私有方法 ClearAllSselection,它从项中删除选择。您可以通过反射来调用它:

MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(yourContextMenuStrip, null);

所有选择都将被删除。

您要查找已检查的属性?

public void mnuUncheck()
{
    foreach (ToolStripMenuItem Item in mnuStripMain.Items)
    {
       Item.Checked = false;
    }
}

采用Sergey的方法,ToolStripItem 上还有一个内部方法,你可以称之为:

MethodInfo methodInfo = typeof(ToolStripItem).GetMethod("Unselect", BindingFlags.NonPublic | BindingFlags.Instance);
methodInfo.Invoke(yourToolStripItem, null);