C# 编写的winform程序的托盘功能


基本上大部分的桌面程序都有托盘功能,比如说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的托盘功能。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM