主要是使用自带的notifyIcon这个控件即可,用两个icon图片循环切换,效果即闪烁提示。
主要代码如下:
public partial class Form1 : Form{int i = 0; //先设置一个全局变量 i ,用来控制图片索引,然后创建定时事件,双击定时控件就可以编辑 private Icon ico1 = Properties.Resources.ico1;private Icon ico2 = Properties.Resources.ico2; //两个图标 切换显示 以达到消息闪动的效果 public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){this.timer1.Enabled = true; }private void timer1_Tick(object sender, EventArgs e){//如果i=0则让任务栏图标变为透明的图标并且退出 if (i < 1){this.notifyIcon1.Icon = ico2;i++;return;}//如果i!=0,就让任务栏图标变为ico1,并将i置为0; elsethis.notifyIcon1.Icon = ico1;i = 0; }}
注意:有一张图片最好是透明的ico,定时器Interval设置成500ms,看上去自然一点。
如果还要用notifyIcon做其它操作,可以参考这里
如果是 wpf, 直接给Style指定一个 trigger 动画即可:
<Style.Triggers><DataTrigger Binding="{Binding NeedReplaceDisk}" Value="false"><Setter Property="Visibility" Value="Collapsed"/></DataTrigger><DataTrigger Binding="{Binding NeedReplaceDisk}" Value="true"><DataTrigger.EnterActions><BeginStoryboard x:Name="DvdSwitchDiskNotifyStory"><Storyboard><ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" RepeatBehavior="Forever" Duration="0:0:3"><ObjectAnimationUsingKeyFrames.KeyFrames><DiscreteObjectKeyFrame KeyTime="0:0:1" ><DiscreteObjectKeyFrame.Value><Visibility>Visible</Visibility></DiscreteObjectKeyFrame.Value></DiscreteObjectKeyFrame><DiscreteObjectKeyFrame KeyTime="0:0:2" ><DiscreteObjectKeyFrame.Value><Visibility>Hidden</Visibility></DiscreteObjectKeyFrame.Value></DiscreteObjectKeyFrame></ObjectAnimationUsingKeyFrames.KeyFrames></ObjectAnimationUsingKeyFrames></Storyboard></BeginStoryboard></DataTrigger.EnterActions><DataTrigger.ExitActions><StopStoryboard BeginStoryboardName="DvdSwitchDiskNotifyStory" /></DataTrigger.ExitActions></DataTrigger></Style.Triggers>