private void contextMenuStrip1_MouseClick(object sender, MouseEventArgs e) { if (sender is ContextMenuStrip _sender) { var selected = _sender.Items.OfType <ToolStripMenuItem>().Where(x => x.Selected).FirstOrDefault(); if (selected is null || !selected.Enabled) { return; } switch (selected) { case ToolStripMenuItem item when item == toolStripMenuItem_Enable: EnableSelectedProxies(); break; case ToolStripMenuItem item when item == toolStripMenuItem_Disable: DisableSelectedProxies(); break; case ToolStripMenuItem item when item == toolStripMenuItem_New: if (SetProxyForm == null) { SetProxyForm = new SetProxyForm(this); } SetProxyForm.UseNormalMode(); SetProxyForm.Show(); break; case ToolStripMenuItem item when item == toolStripMenuItem_Modify: if (SetProxyForm == null) { SetProxyForm = new SetProxyForm(this); } SetProxyForUpdate(SetProxyForm); SetProxyForm.Show(); break; case ToolStripMenuItem item when item == toolStripMenuItem_Refresh: RefreshProxyList(); break; case ToolStripMenuItem item when item == toolStripMenuItem_Delete: DeleteSelectedProxies(); break; case ToolStripMenuItem item when item == toolStripMenuItem_About: if (AboutForm == null) { AboutForm = new About(this); AboutForm.Show(); } else { AboutForm.Show(); } break; } } }