private MainHandler() { if (Settings.Default.ClickedAnswers == null) { Settings.Default.ClickedAnswers = new StringCollection(); } if (Settings.Default.ShowedAnswers == null) { Settings.Default.ShowedAnswers = new StringCollection(); } switch (DateTime.Now.DayOfWeek) { case DayOfWeek.Sunday: _notifyIcon.BalloonTipText = Resources.SkeetFactSunday; break; case DayOfWeek.Monday: _notifyIcon.BalloonTipText = Resources.SkeetFactMonday; break; case DayOfWeek.Tuesday: _notifyIcon.BalloonTipText = Resources.SkeetFactTuesday; break; case DayOfWeek.Wednesday: _notifyIcon.BalloonTipText = Resources.SkeetFactWednesday; break; case DayOfWeek.Thursday: _notifyIcon.BalloonTipText = Resources.SkeetFactThursday; break; case DayOfWeek.Friday: _notifyIcon.BalloonTipText = Resources.SkeetFactFriday; break; case DayOfWeek.Saturday: _notifyIcon.BalloonTipText = Resources.SkeetFactSaturday; break; default: throw new ArgumentOutOfRangeException(); } _notifyIcon.ShowBalloonTip(1000); var contextMenu = new ContextMenuStrip { ShowImageMargin = false }; var exitMenuItem = new ToolStripButton("Close") { Image = Resources.Exit, AutoToolTip = false }; exitMenuItem.Click += (s, a) => System.Windows.Forms.Application.Exit(); var refreshMenuItem = new ToolStripButton("Refresh") { Image = Resources.Refresh, AutoToolTip = false }; refreshMenuItem.Click += (s, a) => _backgroundWorker.RunWorker(); var autostartMenuItem = new ToolStripButton("Autostart") { Image = Resources.AutoStart, AutoToolTip = false, Checked = AutoStart.GetAutoStart(Application.ProductName) }; autostartMenuItem.Click += (s, a) => { AutoStart.SetAutoStart(!autostartMenuItem.Checked, Application.ProductName, Application.ExecutablePath); autostartMenuItem.Checked = AutoStart.GetAutoStart(Application.ProductName); }; _notifyIcon.ContextMenuStrip = contextMenu; contextMenu.Items.AddRange(new ToolStripItem[] { new ToolStripSeparator(), refreshMenuItem, autostartMenuItem, exitMenuItem }); // Timer _updateTimer.Tick += (s, a) => _backgroundWorker.RunWorker(); // Worker _backgroundWorker.DoWork += BackgroundWorkerDoWork; _backgroundWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerCompleted; _backgroundWorker.RunWorker(); }