发布时间:2025-12-11 00:54:32 浏览次数:2
在C#中使用NotifyIcon需要以下步骤:
添加NotifyIcon控件:在Windows窗体中,从工具箱中拖拽一个NotifyIcon控件到窗体上。
设置NotifyIcon属性:选中NotifyIcon控件,打开属性窗口,可以设置以下属性:
Icon:设置在托盘中显示的图标。
Text:设置鼠标悬停在托盘图标上显示的文本。
Visible:设置是否可见,默认为false。
ContextMenuStrip:设置右键菜单。
编写相应的事件处理代码:通常,我们会为NotifyIcon的DoubleClick事件和ContextMenuStrip的菜单项点击事件编写相应的代码。例如,双击托盘图标时,打开或关闭主窗体。以下是一个简单的示例代码:
using System;using System.Windows.Forms;namespace NotifyIconExample{public partial class MainForm : Form{private NotifyIcon notifyIcon;private ContextMenuStrip contextMenuStrip;public MainForm(){InitializeComponent();// 初始化NotifyIconnotifyIcon = new NotifyIcon();notifyIcon.Icon = Properties.Resources.icon;notifyIcon.Text = "NotifyIcon Example";notifyIcon.Visible = true;// 双击托盘图标时的事件处理notifyIcon.DoubleClick += NotifyIcon_DoubleClick;// 初始化右键菜单contextMenuStrip = new ContextMenuStrip();ToolStripMenuItem openMenuItem = new ToolStripMenuItem("Open");openMenuItem.Click += OpenMenuItem_Click;contextMenuStrip.Items.Add(openMenuItem);ToolStripMenuItem exitMenuItem = new ToolStripMenuItem("Exit");exitMenuItem.Click += ExitMenuItem_Click;contextMenuStrip.Items.Add(exitMenuItem);// 设置右键菜单notifyIcon.ContextMenuStrip = contextMenuStrip;}private void NotifyIcon_DoubleClick(object sender, EventArgs e){// 双击托盘图标时,打开或关闭主窗体if (WindowState == FormWindowState.Minimized){WindowState = FormWindowState.Normal;}else{WindowState = FormWindowState.Minimized;}}private void OpenMenuItem_Click(object sender, EventArgs e){// 打开主窗体WindowState = FormWindowState.Normal;}private void ExitMenuItem_Click(object sender, EventArgs e){// 退出应用程序Application.Exit();}protected override void OnFormClosing(FormClosingEventArgs e){// 在窗体关闭时,将NotifyIcon资源释放notifyIcon.Visible = false;notifyIcon.Dispose();base.OnFormClosing(e);}}}