当在即时通信软件上收到消息时,任务栏的右下端会有一个图标在不停的闪烁,单击它就可打开信息浏览。本实例模拟信息提示功能,当在主窗体中单击“闪烁”按钮时,出现图标进行闪烁;当单击“停止”按钮时,即可停止闪烁。
技术要点
本实例主要用到Timer组件的Tick事件,在该事件中实现图标的闪烁。
实现过程
1. 创建一个项目,将其命名为DynamicStockIcon,修改默认窗体为DynamicStockIcon。
2. 在DynamicStockIcon窗体上添加一个GroupBox控件、两个Button控件、一个NotifyIcon控件以及一个Timer组件。设置Timer组件的Interval属性值为400。
3. 主要程序代码。
在运行本程序前,需要定义和声明一些变量。代码如下:
public static bool flag=false ; //该变量表示图标是否闪烁
当单击“闪烁”按钮时,图标出现闪动效果。代码如下:
private void flicker_Click(object sender,EventArgs e)
{
stocktimer.Enabled = true; //启动计时器stocktimer
}
当单击“停止”按钮时,图标闪动效果消失。代码如下:
private void cease_Click(object sender,EventArgs e)
{
stocktimer.Enabled = false; //关闭计时器stocktimer
stockIcon.Icon = Properties.Resources._1; //设置NotifyIcon控件的图标
}
本程序实现图标的闪烁是通过计时器stocktimer的Tick事件。代码如下:
private void stocktimer_Tick(object sender,EventArgs e)
{
if(flag == false) //当标识值为假时
{
stockIcon.Icon = Properties.Resources._1; //设定NotifyIcon控件的图标
flag = true; //修改标识值为真
}
else //当标识值为真时
{
stockIcon.Icon = Properties.Resources._2; //修改NotifyIcon的图标图片
flag = false; //设定标识的值为假
}
}