本文共 1804 字,大约阅读时间需要 6 分钟。
1 添加Form1_Load事件-启动不显示图标
private void Form1_Load(object sender, EventArgs e) { notifyIcon1.Visible = true; //显示托盘图标 this.Hide(); //隐藏窗口 }2 添加NotifyIcon控件-直接拖拽
3 为右键菜单ContextMenuStrip-显示和退出
private void toolStripMenuItem1_Click(object sender, EventArgs e) { notifyIcon1.Visible = false; this.Show(); WindowState = FormWindowState.Normal; this.Focus(); } private void toolStripMenuItem2_Click(object sender, EventArgs e) { Application.Exit(); }4 关联右键菜单
5 NotifyIcon左键点击事件
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { notifyIcon1.Visible = false; this.Show(); WindowState = FormWindowState.Normal; this.Focus(); } }6 窗体关闭和改变大小
private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) //最小化到系统托盘 { notifyIcon1.Visible = true; //显示托盘图标 this.Hide(); //隐藏窗口 } } //关闭事件-检测关闭位置[窗体上,还是托盘图标] private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //注意判断关闭事件Reason来源于窗体按钮,否则用菜单退出时无法退出! if (e.CloseReason == CloseReason.UserClosing) { e.Cancel = true; //取消"关闭窗口"事件 this.WindowState = FormWindowState.Minimized; //使关闭时窗口向右下角缩小的效果 notifyIcon1.Visible = true; this.Hide(); return; } }*在关闭窗口事件中判断关闭原因/来源(e.CloseReason),若为CloseReason.UserClosing则为点击了窗口右上角的关闭按钮,否则可能是点击了"退出"菜单,则不执行隐藏到托盘的程序。
转载地址:http://wxnmb.baihongyu.com/