【发布时间】:2012-04-25 20:27:31
【问题描述】:
简单的问题:
我可以.Select 和ToolStripItem (例如,如果我在打开上下文菜单条时想要一个预选选项),但我似乎找不到将.Selected 设置为false 或以某种方式取消选择它的方法!
有可能吗?
【问题讨论】:
标签: c# winforms contextmenustrip toolstripitem
简单的问题:
我可以.Select 和ToolStripItem (例如,如果我在打开上下文菜单条时想要一个预选选项),但我似乎找不到将.Selected 设置为false 或以某种方式取消选择它的方法!
有可能吗?
【问题讨论】:
标签: c# winforms contextmenustrip toolstripitem
ToolStrip 类中有一个私有方法 ClearAllSelections,它可以从项目中删除选择。您可以通过反射调用它:
MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(yourContextMenuStrip, null);
所有选择都将被删除。
【讨论】:
您正在寻找 Checked 属性?
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);
【讨论】: