예제 #1
0
        private void CreatTrayIcon(RuntimeParams runtimeParams)
        {
            new Thread(
                () =>
            {
                var trayMenu = new ContextMenu();
                trayMenu.MenuItems.Add("Start", (_, __) => runtimeParams.Pause = false);
                trayMenu.MenuItems.Add("Pause", (_, __) => runtimeParams.Pause = true);
                trayMenu.MenuItems.Add("-");
                trayMenu.MenuItems.Add("Close", (_, __) => runtimeParams.Stop());
                var trayIcon = new NotifyIcon {
                    Icon = Utils.PlayIcon, ContextMenu = trayMenu, Visible = true
                };

                runtimeParams.TogglePause += (pause) => trayIcon.Icon = pause ? Utils.PauseIcon : Utils.PlayIcon;

                Application.Run();
            })
            {
                IsBackground = true
            }.Start();
        }