WPF 托盘图标右键弹出的ContextMenu如何关闭

我在托盘加入了NotifyIcon控件,在Click事件中加入了contextMenu.IsOpen=true;这样来打开右键菜单。我想在弹出菜单后,鼠标点击其他位置时,... 我在托盘加入了NotifyIcon控件,在Click事件中加入了contextMenu.IsOpen=true;这样来打开右键菜单。
我想在弹出菜单后,鼠标点击其他位置时,菜单自动消失,请问怎么做?
我的系统托盘里,其他软件图标都是右键点击后,弹出菜单,点击其他位置菜单消失。
我只能实现右键点击弹出菜单,但是点击其他位置菜单不消失,怎么办?我尝试了菜单在LostFocus时context.IsOpen=false;这样也不行。
谢谢~!
展开
 我来答
全栈达人老Y
2011-09-05 · TA获得超过1341个赞
知道小有建树答主
回答量:788
采纳率:33%
帮助的人:448万
展开全部
NotifyIcon里面有一个ContextMenuStrip属性,直接设置这个属性就可以了,不要在click事件中设置,这是我以前写的一个项目中截的,粘给你看看:
System.Windows.Forms.ContextMenuStrip contextMenu = new System.Windows.Forms.ContextMenuStrip();
System.Windows.Forms.ToolStripMenuItem item1 = new System.Windows.Forms.ToolStripMenuItem();
item1.Click += new EventHandler(item1_Click);
item1.Text = "显示主面板";
System.Windows.Forms.ToolStripMenuItem item2= new System.Windows.Forms.ToolStripMenuItem();
item2.Text = "退出";
item2.Click += new EventHandler(item2_Click);
contextMenu.Items.Add(item1);
contextMenu.Items.Add(item2);
this.notifyIcon.ContextMenuStrip = contextMenu;
shaobangjie
2011-09-03 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:49.7万
展开全部
LostFocus 基本没用的,WPF里面没有NotifyIcon控件,你用的,应该是从Winform里面拿过来的对吧?那样就要自己判断全局的鼠标事件,程序加载时,设置全局监听钩子.只能这样处理.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式