WPF编程,程序使用系统托盘图标功能并模仿QQ的闪烁的一种方法。

前提是已经实现了程序的托盘显示功能,然后通过一个正常图标和一个透明图标,借助定时器来循环切换,达到闪烁的效果。 

1、定义字段

        DispatcherTimer timer = new DispatcherTimer();//定时器
        bool change = false;//切换图标

        System.Drawing.Icon icon1 = new System.Drawing.Icon(System.Windows.Application.GetResourceStream(new Uri("/Photo/WPF.ico", UriKind.Relative)).Stream);//程序图标
        System.Drawing.Icon icon2 = new System.Drawing.Icon(System.Windows.Application.GetResourceStream(new Uri("/Photo/WPF2.ico", UriKind.Relative)).Stream);//程序图标

        System.Drawing.Icon icon3 =  (Properties.Resources.WPF3);//程序图标,这里图片做为一种资源放在了资源文件里,也可以像以上的写法定义。 

2、事件中初始定时器

            timer.Tick += new EventHandler(timer_Tick);
            timer.Interval = TimeSpan.FromMilliseconds(500);

3、定时执行的事件

        private void timer_Tick(object sender, EventArgs e)
        {
            //判断是否最小化,这里的notifyIcon是一个具体的new出来的实例
            if (ws == WindowState.Minimized)
            {
                if (!change)
                {
                    this.notifyIcon.Icon = icon1;
                    change = true;
                }
                else
                {
                    this.notifyIcon.Icon = icon3;
                    change = false;
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_43307934/article/details/88026108