简单问题:取消的ToolStripItem上的ContextMenuStrip
我可以.Select
一个ToolStripItem
(比如,如果我想打开一个上下文菜单条时预选的选项),但我似乎无法找到一种方法来设置.Selected
为false或以某种方式取消选择!
可能吗?
简单问题:取消的ToolStripItem上的ContextMenuStrip
我可以.Select
一个ToolStripItem
(比如,如果我想打开一个上下文菜单条时预选的选项),但我似乎无法找到一种方法来设置.Selected
为false或以某种方式取消选择!
可能吗?
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;
}
}
经过近一个菜单条项的“V”标志,对不对?我在谈论选择,当你将鼠标悬停在上下文菜单项上时会发生什么。 – Istrebitel 2012-04-26 05:40:01
以谢尔盖的做法,也有在ToolStripItem的内部方法,你可以调用:
MethodInfo methodInfo = typeof(ToolStripItem).GetMethod("Unselect", BindingFlags.NonPublic | BindingFlags.Instance);
methodInfo.Invoke(yourToolStripItem, null);
Omfg ....好吧,Micro $ oft在其最好的礼物:)当它不应该是私人的东西时。好吧,谢谢你的回答! – Istrebitel 2012-04-27 08:36:53
@lazyberezovsky:很棒的信息...节省我的时间:) – 2012-10-23 05:37:15