private void UpdateUI() { var aboutMenuItem = new MenuItem(StartupHandler.DeceiveTitle) { Enabled = false }; var enabledMenuItem = new MenuItem("Enabled", (a, e) => { _enabled = !_enabled; UpdateStatus(_enabled ? _status : "chat"); UpdateUI(); }) { Checked = _enabled }; var offlineStatus = new MenuItem("Offline", (a, e) => { UpdateStatus(_status = "offline"); _enabled = true; UpdateUI(); }) { Checked = _status.Equals("offline") }; var mobileStatus = new MenuItem("Mobile", (a, e) => { UpdateStatus(_status = "mobile"); _enabled = true; UpdateUI(); }) { Checked = _status.Equals("mobile") }; var typeMenuItem = new MenuItem("Status Type", new[] { offlineStatus, mobileStatus }); var quitMenuItem = new MenuItem("Quit", (a, b) => { var result = MessageBox.Show( "Are you sure you want to stop Deceive? This will also stop League if it is running.", StartupHandler.DeceiveTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1 ); if (result != DialogResult.Yes) { return; } Utils.KillClients(); SaveStatus(); Application.Exit(); }); _trayIcon.ContextMenu = new ContextMenu(new[] { aboutMenuItem, enabledMenuItem, typeMenuItem, quitMenuItem }); _overlay?.UpdateStatus(_status, _enabled); }