您的位置:首页 > 其它

WinFrom中实现最小化至系统托盘

2009-11-09 01:41 176 查看
  刚在写个程序,遇到个小问题,就是当点击最小化按钮时,如何把程序最小化到系统托盘里去。

  其实这样的例子在很多软件上面都可以见到的,但刚开始找属性时并没有任何和系统托盘有关的,找了一下事件,也没有发现有关最小化按钮点击的事件。郁闷中,于是上网搜索了一下,才发现原来有个叫NotifyIcon的控件,而最小化的事件也可以换种思路去实现(用SizeChanged事件)。

下面是实现当点击最小化按钮时,程序缩到系统托盘中,双击系统托盘图标时,还原程序。

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;  //托盘图标隐藏
}


OK!就这样,运行试试吧。其实很简单,但实现方法和其它语言可能有所不同,写出来希望有需要的朋友别走太多弯路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: