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(); }