首页 > 代码库 > WPF 系统托盘 图标闪烁
WPF 系统托盘 图标闪烁
WPF消息通知
系统托盘,图标闪烁
1 using System.Windows.Forms; 2 3 using System.Windows.Threading; 4 5 public partial class Window : Window 6 { 7 private NotifyIcon notifyIcon; 8 DispatcherTimer icoTimer = new DispatcherTimer(); 9 string icoUrl = @"../../Red.ico";10 string icoUrl2 = @"../../Red2.ico";11 public long i = 0;12 public Window()13 {14 InitializeComponent();15 //不在任务栏显示16 this.ShowInTaskbar = false;17 this.notifyIcon = new NotifyIcon();18 this.notifyIcon.BalloonTipText = "系统监控中... ...";19 this.notifyIcon.ShowBalloonTip(2000);20 this.notifyIcon.Text = "系统监控中... ...";21 //this.notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Windows.Forms.Application.ExecutablePath);22 this.notifyIcon.Icon = new System.Drawing.Icon(@"../../Red.ico");23 this.notifyIcon.Visible = true;24 //打开菜单项25 System.Windows.Forms.MenuItem open = new System.Windows.Forms.MenuItem("Open");26 open.Click += new EventHandler(Show);27 //退出菜单项28 System.Windows.Forms.MenuItem exit = new System.Windows.Forms.MenuItem("Exit");29 exit.Click += new EventHandler(Close);30 //关联托盘控件31 System.Windows.Forms.MenuItem[] childen = new System.Windows.Forms.MenuItem[] { open, exit };32 notifyIcon.ContextMenu = new System.Windows.Forms.ContextMenu(childen);33 34 this.notifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler((o, e) =>35 {36 if (e.Button == MouseButtons.Left) this.Show(o, e);37 //this.Visibility = System.Windows.Visibility.Visible;38 //this.ShowInTaskbar = true;39 //this.Activate();40 NavigationWindow win = new MainWindow();41 this.notifyIcon.Visible = false;42 win.ShowDialog();43 });44 45 46 //闪烁图标47 icoTimer.Interval = TimeSpan.FromSeconds(0.3);48 icoTimer.Tick += new EventHandler(IcoTimer_Tick);49 icoTimer.Start();50 }51 public void IcoTimer_Tick(object sender, EventArgs e)52 {53 i=i+1;54 if (i % 2 != 0)55 {56 this.notifyIcon.Icon = new System.Drawing.Icon(icoUrl);57 }58 else59 {60 this.notifyIcon.Icon = new System.Drawing.Icon(icoUrl2);61 }62 }63 private void Show(object sender, EventArgs e)64 {65 this.Visibility = System.Windows.Visibility.Visible;66 this.ShowInTaskbar = true;67 this.Activate();68 }69 70 private void Hide(object sender, EventArgs e)71 {72 this.ShowInTaskbar = false;73 this.Visibility = System.Windows.Visibility.Hidden;74 }75 76 private void Close(object sender, EventArgs e)77 {78 System.Windows.Application.Current.Shutdown();79 }
转自:http://www.cnblogs.com/ke10/archive/2012/11/16/NotifyIcon.html
记得对System.Windows.Forms添加引用。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。