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