NotifyIcon的鼠标左键弹出菜单如何实现?

marist 2009-06-16 10:35:33
一个应用程序,程序启动后显示在屏幕右下角的启动栏里,不出现任何窗体(任务栏也不显示窗体)。
我希望鼠标左键单击NotifyIcon图标时弹出菜单A(任务栏不显示窗体),鼠标右键单击NotifyIcon图标时弹出菜单B,通过菜单里的选项来打开窗体,操作应用程序。
鼠标左键弹出菜单A的功能如何实现?
...全文
646 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghost5216 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lxcnn 的回复:]
右键菜单正常设置,没什么好说的,左键菜单不通过contextMenuStrip属性设置,在MouseClick事件里实现


C# codeprivate void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
contextMenuStrip1.Show(Cursor.Position);
}
}
[/Quote]
支持,不过Cursor.Position应该再调调位置,会更像些
mengfeihui 2009-06-17
  • 打赏
  • 举报
回复
ContextMenu cn = new ContextMenu();
MenuItem a = new MenuItem();
a.Text = "aaaa";
a.Click +=new EventHandler(frmclose);//菜单点击的事件
cn.MenuItems.Add(a);
this.notifyIcon1.ContextMenu=cn;
直接在load事件中加就行
xuzysun 2009-06-17
  • 打赏
  • 举报
回复
在notifyIcon1单击事件中,为左键响应出现菜单即可!
ChrisAK 2009-06-16
  • 打赏
  • 举报
回复
汗...
看成右键了@_@
右键直接设置ContextMenu/ContextMenuStrip
至于左键...ContextMenu没办法.
ContextMenuStrip的话(VS2005之后的ide默认创建的都是这玩意)
在NotifyIcon的Click事件中执行ContextMenuStrip.Show (Cursor.Position);
就行了.用不着去处理鼠标按键.
-过客- 2009-06-16
  • 打赏
  • 举报
回复
右键菜单正常设置,没什么好说的,左键菜单不通过contextMenuStrip属性设置,在MouseClick事件里实现

private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
contextMenuStrip1.Show(Cursor.Position);
}
}
smntbk 2009-06-16
  • 打赏
  • 举报
回复
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Left:
notifyIcon1.ContextMenuStrip = contextMenuStrip1;
break;
case MouseButtons.Right:
notifyIcon1.ContextMenuStrip = contextMenuStrip2;
break;
default:
notifyIcon1.ContextMenuStrip = null;
break;
}
}

ChrisAK 2009-06-16
  • 打赏
  • 举报
回复
设置它的ContextMenu/ContextMenuStrip属性.
话说LZ问问题前不先查MSDN的么?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧