WinForm实现最小化到系统托盘方法实例详解

Dorothy ·
更新时间:2024-11-15
· 878 次阅读

本文实例讲述了WinForm实现最小化到系统托盘方法。分享给大家供大家参考。具体分析如下:

有个叫NotifyIcon的控件

1、建个WinForm项目,其它操作略过。
2、拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件。
3、实现Form的SizeChanged事件,代码如下:

if(this.WindowState == FormWindowState.Minimized) //判断是否最小化 { this.ShowInTaskbar = false; //不显示在系统任务栏 notifyIcon.Visible = true; //托盘图标可见 }

4、实现NotifyIcon控件的DoubleClick事件,代码如下:

if(this.WindowState == FormWindowState.Minimized) { this.ShowInTaskbar = true; //显示在系统任务栏 this.WindowState = FormWindowState.Normal; //还原窗体 notifyIcon.Visible = false; //托盘图标隐藏 }

例题:

private ContextMenu notifyiconMnu; #region 最小化到任务栏 /// <summary> /// 最小化到任务栏 /// </summary> private void Initializenotifyicon() { //定义一个MenuItem数组,并把此数组同时赋值给ContextMenu对象 MenuItem[] mnuItms = new MenuItem[3]; mnuItms[0] = new MenuItem(); mnuItms[0].Text = "显示窗口"; mnuItms[0].Click += new System.EventHandler(this.notifyIcon1_showfrom); mnuItms[1] = new MenuItem("-"); mnuItms[2] = new MenuItem(); mnuItms[2].Text = "退出系统"; mnuItms[2].Click += new System.EventHandler(this.ExitSelect); mnuItms[2].DefaultItem = true; notifyiconMnu = new ContextMenu(mnuItms); notifyIcon1.ContextMenu = notifyiconMnu; //为托盘程序加入设定好的ContextMenu对象 } private void notifyIcon1_DoubleClick(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar = true; this.WindowState = FormWindowState.Normal; notifyIcon1.Visible = false; } } public void notifyIcon1_showfrom(object sender, System.EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar = true; this.WindowState = FormWindowState.Normal; notifyIcon1.Visible = false; } } public void ExitSelect(object sender, System.EventArgs e) { //隐藏托盘程序中的图标 notifyIcon1.Visible = false; //关闭系统 this.Close(); this.Dispose(true); } #endregion private void Form_main_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) //判断是否最小化 { notifyIcon1.Visible = true; this.Hide(); this.ShowInTaskbar = false; Initializenotifyicon(); } }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法C#实现WinForm捕获最小化事件的方法C# WinForm窗口最小化到系统托盘C#实现Winform动态添加菜单的方法C#实现winform自动关闭MessageBox对话框的方法C# Winform窗口之间传值的多种方法浅析



系统托盘 方法 系统 winform

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章