例子代码
链接:https://pan.baidu.com/s/1fzMFawFsYi-CjMGzXF-9sA
提取码:3acn
新建一个Form1窗体,监听窗体大小变化事件、窗体关闭事件
/// <summary> /// 窗体大小监听 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Resize(object sender, EventArgs e) { if (WindowState == FormWindowState.Minimized) { this.ShowInTaskbar = false; notifyIcon1.Visible = true; } } /// <summary> /// 关闭窗口 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (!formClose) { //不是通过菜单关闭程序 WindowState = FormWindowState.Minimized; e.Cancel = true; } else { timer1.Stop();//关闭定时器 } }
添加控件:
notifyIcon(通过notifyIcon1.Visible = false/true控制托盘显示)
/// <summary> /// 鼠标点击托盘图标 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (WindowState == FormWindowState.Minimized) { WindowState = FormWindowState.Normal; this.Activate();//激活窗口 this.ShowInTaskbar = true;//托盘中显示 notifyIcon1.Visible = false; } } }
contextMenuStrip(托盘右键菜单)
#region 菜单点击事件 private void 提示信息ToolStripMenuItem_Click(object sender, EventArgs e) { notifyIcon1.ShowBalloonTip(5000, "提示", "这是提示效果!", ToolTipIcon.Info); } private void 开始闪烁ToolStripMenuItem_Click(object sender, EventArgs e) { timer1.Start(); } private void 取消闪烁ToolStripMenuItem_Click(object sender, EventArgs e) { timer1.Stop(); } private void 退出程序ToolStripMenuItem_Click(object sender, EventArgs e) { formClose = true;//菜单关闭程序 this.Close(); } #endregion
timer(控制托盘图片闪烁,做成消息提醒功能,需要增加两张.ico图到 Properties.Resources)
/// <summary> /// 闪烁图表定时器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer1_Tick(object sender, EventArgs e) { notifyIcon1.Icon = shan ? Properties.Resources.程序 : Properties.Resources.托盘; shan = !shan; }