C#实现托盘动态图标

系统托盘是个特殊区域,通常在桌面的底部右侧。在那里,用户可以随时访问正在运行中的那些程序。在微软的Windows里,系统托盘常指任务栏的状态区域;在Gnome的桌面时,常指布告栏区域;在KDE桌面时,指系统托盘。在每个系统里,托盘是所有正运行在桌面环境里。当然,如果能够根据程序的运行状态动态修改系统托盘的图片,还能起到为用户提供系统状态的作用。

实现步骤:

1:新建WinForm项目

2:从工具栏中拖拽NotifyIcon控件,然后设置这个控件的icon属性。大运行项目时你会发现在系统的托盘里面出现了你所选择的图标。

NotifyIcon图标的使用说明:

1          ContextMenu属性:

这个属性需要一个“上下文菜单”(可以从工具栏中拖拽到项目内,然后通过鼠标选择),当图标上单击右键时能够显示这个菜单

2          Text属性

当鼠标移动到图标上时,系统将要自动显示的信息

3          Icon属性

在托盘中显示的图标

4          Visiable属性

决定图标是否可见

一种动态系统托盘的实现过程:

1          拖拽NotifyIcon、timer控件;

2   在窗体类中添加如下代码:

      int ico =1;//记录当前的图标序号

3         启动定时器, 动态更换Icon图标

private void timer1_Tick(object sender, System.EventArgs e)

      {

        string path; //把图标设置成数字名,获取图标保存路径

        path="d:"""+ico.ToString()+".ico";

       //实例图标对象赋值给控件的Icon属性

this.notifyIcon1.Icon = new Icon(path);

        ico++;//变换图标序号

        if(ico > 5)

        {

           ico =1; //还原图标序号

        }

 }

posted @ 2009-06-15 15:57  scgw  阅读(1366)  评论(0编辑  收藏  举报