首先我们新建一个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()
}
}
}以上代码已经完成这个功能。
川公网安备 51010702003150号
留下您的脚步
最近评论