如何像QQ一样操作Winform程序?
-Begin-
前言
QQ和微信作为日常使用最广的CS客户端程序,可能我们以后习惯了这种操作:
点击最小化,将程序最小化到任务栏中
点击关闭,并不是真的关闭,而是缩小到托盘里
从托盘中找到图标,双击,将程序展示出来
从托盘中找到图标,右击,退出,才是真正的退出程序
今天跟大家分享一下,Winform程序实现最小化到托盘及托盘右键菜单。
实现
1、首先假设已经开发好了应用程序,从工具箱中,找到一个组件叫NotifyIcon,拖放到主窗体中。
2、点击NotifyIcon组件,右侧属性中,修改Icon和Text,改成你需要设置的内容。
3、主窗体添加一个FormClosing事件,在该事件中编写代码如下:
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { if (realClose == false) { this.WindowState = FormWindowState.Minimized; //隐藏任务栏区图标 this.ShowInTaskbar = false; e.Cancel = true; } }
realClose是一个全局字段,表示是否真的关闭,默认值是False,这样直接点击关闭时,并不是真的关闭程序,而且缩小到托盘。
4、给NotifyIcon组件添加一个双击事件,在双击事件中,将程序显示出来,代码如下:
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { if (WindowState == FormWindowState.Minimized) { //还原窗体显示 this. WindowState = FormWindowState.Normal; //激活窗体并给予它焦点 this.Activate(); //任务栏区显示图标 this.ShowInTaskbar = true; } }
5、目前这种情况是无法关闭程序的,所以需要给NotifyIcon组件添加一个右键菜单,从工具箱中,添加一个ContextMenuStrip组件,然后添加两个Item,分别是打开软件tsm_Open和关闭软件tsm_Exit。
6、打开软件代码比较简单,具体如下:
private void tsm_Open_Click(object sender, EventArgs e) { if (WindowState == FormWindowState.Minimized) { //还原窗体显示 this.WindowState = FormWindowState.Normal; //激活窗体并给予它焦点 this.Activate(); } }
7、退出软件首先是将realClose置位True,然后调用this.Close方法即可。
private void tsm_Exit_Click(object sender, EventArgs e) { realClose = true; this.Close(); }
至此,就实现了Winform程序实现最小化到托盘及托盘右键菜单。
-
国家能源集团携手华为首次部署矿鸿操作系统
2021-09-15 -
与新合资公司合作的GCL-Poly支持网格AI应用程序
2021-09-14 -
Linux从头学:特权级文章带你了解操作系统
2021-09-13 -
西门子1200PLC实用定位控制程序案例
2021-09-13 -
乌海电业局实现隔离开关远方遥控操作
2021-09-06 -
远光达普(YG-DAP)通过统信桌面操作系统V20兼容认证
2021-08-19 -
实用程序陷入新的曙光
2021-08-18 -
Enel和Raptor Maps开发用于运营和维护应用程序的AI无人机软件
2021-08-16 -
兼容安卓应用是国产操作系统追赶Windows的捷径?
2021-08-06 -
陕武直流送端交流系统正式投运
2021-08-03 -
“操作系统”被弱化,云服务和AI才是微软的未来!
2021-07-30 -
冷热冲击试验箱检测试验的科学操作流程
2021-07-22 -
渗透辅助反渗透和低盐截留率反渗透处理高盐水的能效对比
2021-07-21 -
凤凰太阳能开始破产程序
2021-07-21 -
麒麟信安:“一云多芯” 让国产操作系统更“好用”
2021-07-20