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; //还原图标序号
}
}