「桌面」(C#)WinForm程序缩小到右下角通知区域

很多程序关闭后会缩小到右下角的通知栏,我自己写的程序怎么样实现这个呢。折腾了一下,貌似很简单呢啊。

目录

1、中止程序的结束

2、添加通知栏图标也就是

3、窗口恢复和退出

3.1、恢复窗口

3.2、 添加右键菜单栏和退出按钮


1、中止程序的结束

首先点击窗口右上角“X”时,先让程序不要关闭:

添加主窗体的 FormClosing 方法。

即点击窗体右上角的“X”时要执行的操作,这里首先取消程序的“结束”命令

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
	//取消关闭窗口
	e.Cancel = true;
	//最小化主窗口
	this.WindowState = FormWindowState.Minimized;
	//任务栏取消图标
	this.ShowInTaskbar = false;
}

2、添加通知栏图标

不关闭干什么呢,就是最小化,并在右下角显示图标。

在工具箱中找到【NotifyIcon】控件,然后托动到主窗口中(设计器中)
在这里插入图片描述

他会出现在设计器中的下方

在这里插入图片描述
主要修改它的几个属性:
(Name)属性 --(编程规范性修改)
Icon ---图标,就是在右下角时的的图标
Text ---鼠标移动到上面时 显示的文字
Visible --- 是否可见 设置为“True”

我在【阿里巴巴矢量图标库】中随便找一个可爱的图标,然后稍微处理一下,转换成“*.ico”文件。

最终效果时这样:

3、窗口恢复和退出

点“X”不是退出而是隐藏,那隐藏后怎么恢复?又怎么真的结束呢?

3.1、恢复窗口

首先给“NotifyIcon”添加双击(或者单击)事件。

通过双击或在其属性窗口的事件列表中进行添加

代码如下:

//双击右下角图标就恢复窗口正常大小 。
private void NotifyIcon_Main_MouseDoubleClick(object sender, MouseEventArgs e)
{
	if (this.WindowState == FormWindowState.Minimized)
	{
		//还原窗体
		this.WindowState = FormWindowState.Normal;
		//任务显示
		this.ShowInTaskbar = true;
	}
	//激活窗体
	this.Activate();
}

3.2、 添加右键菜单栏和退出按钮

程序的正常关闭已经被我们改掉了,那么要怎么才能关闭呢。
方法是添加右键菜单,在菜单中加入【关闭】按钮。
类似于这样:

如何添加右键菜单呢?

在工具箱中找到【ContextMenuStrip】控件,托入主窗口,然后添加【退出】按钮


并给该“退出”按钮添加事件,即“结束”程序:

private void TSMenuItem_Exit_Click(object sender, EventArgs e)
{
	this.Dispose();
	this.Close();
}

最终运行效果如下:

大功告成。

(水一篇,好久没写点啥了,最近一直在忙别的)

发布了21 篇原创文章 · 获赞 5 · 访问量 3667

猜你喜欢

转载自blog.csdn.net/Raink_LH/article/details/103497586
今日推荐