private bool ShowContextMenu(int x, int y) { Point point; ContextMenuStrip contextMenuStrip = this.ContextMenuStrip; ContextMenu menu = (contextMenuStrip != null) ? null : this.ContextMenu; if ((contextMenuStrip == null) && (menu == null)) { return(false); } bool isKeyboardActivated = false; if (x == -1) { isKeyboardActivated = true; point = new Point(base.Width / 2, base.Height / 2); } else { point = base.PointToClientInternal(new Point(x, y)); } if (!base.ClientRectangle.Contains(point)) { return(false); } if (contextMenuStrip != null) { contextMenuStrip.ShowInternal(this, point, isKeyboardActivated); } else if (menu != null) { menu.Show(this, point); } return(true); }