QQ和微信作为日常使用最广的CS客户端程序,可能我们以后习惯了这种操作:
点击最小化,将程序最小化到任务栏中 点击关闭,并不是真的关闭,而是缩小到托盘里 从托盘中找到图标,双击,将程序展示出来 从托盘中找到图标,右击,退出,才是真正的退出程序
今天跟大家分享一下,Winform程序实现最小化到托盘及托盘右键菜单。
1、首先假设已经开发好了应用程序,从工具箱中,找到一个组件叫NotifyIcon,拖放到主窗体中。
Winform程序实现最小化到托盘及托盘右键菜单
2、点击NotifyIcon组件,右侧属性中,修改Icon和Text,改成你需要设置的内容。
Winform程序实现最小化到托盘及托盘右键菜单
3、主窗体添加一个FormClosing事件,在该事件中编写代码如下: [C#] 纯文本查看 复制代码 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组件添加一个双击事件,在双击事件中,将程序显示出来,代码如下: [C#] 纯文本查看 复制代码 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。
Winform程序实现最小化到托盘及托盘右键菜单
6、打开软件代码比较简单,具体如下: [C#] 纯文本查看 复制代码 private void tsm_Open_Click(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
//还原窗体显示
this.WindowState = FormWindowState.Normal;
//激活窗体并给予它焦点
this.Activate();
}
} 7、退出软件首先是将realClose置位True,然后调用this.Close方法即可。 [C#] 纯文本查看 复制代码 private void tsm_Exit_Click(object sender, EventArgs e)
{
realClose = true;
this.Close();
} 至此,就实现了Winform程序实现最小化到托盘及托盘右键菜单。
免责声明
1、在本论坛发布的言论仅代表其个人意见和观点,与本站立场无关。
2、用户违规操作所产生的一切后果与本站无关,由用户自行承担。
3、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任。
4、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利。
5、本网站管理员有权保留或删除本站内的任何内容。
6、用户在本站发表的内容,本站有权在网站内外转载、引用或编辑后重新发布。
7、本站所有内容均为网友发布,如有侵权之处请联系我们删除处理。
本文地址: https://skillwang.com/thread-64-1-1.html
|