基本上大部分的桌面程序都有托盘功能,比如说QQ:当你单机QQ程序窗体的最小化按钮时,窗体会消失,并且单击电脑右下角的QQ图标时,QQ的窗体重新显现……
在这里介绍下我们自己编写的winform程序怎么实现托盘功能。
在System.Windows.Forms命名空间下的 封闭类 NotifyIcon可以帮我们轻松实现托盘功能。(程序集 System.Windows.Forms.dll)
在窗体的加载事件的处理方法中我们添加一下代码:
NotifyIcon MyNotifyIcon = new NotifyIcon();//实例化 MyNotifyIcon.Visible = true;//可见性 MyNotifyIcon.Text = "我的托盘程序";//鼠标放在托盘时显示的文字 MyNotifyIcon.ShowBalloonTip(1000);//托盘气泡的显现时间 MyNotifyIcon.BalloonTipText = "我的托盘程序";//气泡显示的文字 MyNotifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Windows.Forms.Application.ExecutablePath);//托盘的外观(系统) //自定义托盘外观 //Icon i = new Icon("FileName"); //MyNotifyIcon.Icon = i; MyNotifyIcon.MouseDoubleClick += MyNotifyIcon_MouseDoubleClick;//托盘的鼠标窗机时间注册方法
然后我们编写托盘双击的时候执行的方法
void MyNotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) { this.Show(); // 窗体显现 this.WindowState = FormWindowState.Normal; //窗体回复正常大小 }
然后在给窗体的大小改变事件注册一个方法
this.Resize += Form1_Resize;
Form1_Resize()方法内容:
//单机窗体最小化时窗体隐藏 void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Hide(); } }
以上内容简单方便的实现了Winform的托盘功能。
时间: 2024-11-07 00:58:13