首先我们新建一个Winform程序
这时候程序是可以运行的,但是点击关闭的时候,也就真的关闭了
我们希望在点击关闭之后,能缩小到任务栏小图标,继续运行。
再从任务栏小图标右键退出,才正式关闭程序。
接下来在工具栏中,我们搜【NotifyIcon】控件,拖到界面上,name命名为nfi_right
这个只是任务栏图标,还没有右键菜单
我们再搜【ContextMenuStrip】控件,拖到界面上,name命名为cms_right
现在控件栏有两个我们刚刚拖过来的控件了。
首先设置nfi_right控件的ContextMenuStrip属性,选择cms_right控件,意思是把cms_right这个菜单绑定到nfi_right这个控件的右键操作上。
再给它Icon属性设置一个图标,就是我们想要看到的图标
再设置cms_right控件的内容
首先我们需要双击增加三个事件,分别如下:
cms_right的显示主界面事件
cms_right的退出事件
form1窗体的FormClosing事件(正在关闭事件)
填充如下代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } /// <summary> /// The is close /// </summary> private bool _isClose; private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (_isClose) { Application.Exit();//彻底关闭进程 } else { e.Cancel = true;//取消关闭事件 this.WindowState = FormWindowState.Minimized;//窗体最小化 this.ShowInTaskbar = false;//不显示任务栏上的图标 } } private void 显示主界面ToolStripMenuItem_Click(object sender, EventArgs e) { this.WindowState = FormWindowState.Normal;//窗体还原 this.ShowInTaskbar = true;//显示任务栏图标 } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { _isClose = true;//可以彻底结束 this.Close();//执行关闭事件 会触发 Form1_FormClosing() } } }
以上代码已经完成这个功能。
留下您的脚步
最近评论