你的位置:首页 > ASP.net教程

[ASP.net教程]C#icon托盘图标的简单知识


      在做整个类似QQ的毕业设计中,有一个小图标把我给难了一阵子,就是托盘小图标

      要完成的功能大约是,窗口选择关闭时变成最小化到托盘图标,双击托盘图标显示托盘图标。

 

      还是以登录窗口为例子

      要有托盘图标首先需要一个notifyIcon,这个在工具箱中找。然后就是notifyic的相关属性的设置了,首先需要一个icon图标,我是直接在网上随便翻的,不知道翻到了哪位大神的图标,不好意思,就让我暂时用一下啦,我保证我的水平还没办法用作商业用途T^T,也就是这个地方设置一下icon图标就好叻。

      如果需要右键单击托盘图标并显示一些选项和操作的话,这里还需要在窗口中添加contextmenustrip控件(也就是右键快捷方式的控件)了,这个也可以在工具箱中找到。再设置需要拥有的功能就好叻~

      上面的都完成了不代表就搞定了,他们两个属于两个陌生人,他们彼此都是独立的个体,要想点击图标出现右键还需要硬拉关系~大家多走动走动就熟悉了嘛~

      这里的重要一步就是,notifyicon中的需要关联刚刚建立的右键快捷方式。

     

 

      然后我就是想将关闭窗口变成最小化到托盘,这个就需要窗体的formclosing事件了。

      将notifyicon的visible属性设置为true(也就是可见),那正常情况下都不会关闭的,所以这个时候将关闭变成最小化就只是需要1、取消关闭;2、窗口最小化。

1     #region 关闭用户界面即最小化到托盘图标界面2     private void Panel_FormClosing(object sender, FormClosingEventArgs e)3     {4       // 取消关闭窗体5       e.Cancel = true;6       // 将窗体变为最小化7       this.WindowState = FormWindowState.Minimized;8     }9     #endregion

 

     最后一点就是双击托盘图标显示用户界面

     这个很明显就是icon的属性了,上面的功能基本是窗口的属性,所以他的formclosing事件在窗口中找,现在是icon的事情,那只有在notifyicon的属性里面找是否有相关的功能实现的事件了,也就是mousedouble咯~

 1     #region 双击托盘图标显示用户界面 2     private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) 3     { 4       if (WindowState == FormWindowState.Minimized) 5       { 6         //还原窗体显示  7         WindowState = FormWindowState.Normal; 8         //激活窗体并给予它焦点  9         this.Activate();10       }11     }12     #endregion