private void OnMouseUp(MouseEventArgs e)
        {
            if ((e.Button & MouseButtons.Right) == MouseButtons.Right)
            {
                if (context_menu != null)
                {
                    XplatUI.SetForegroundWindow(window.Handle);
                    context_menu.Show(window, new Point(e.X, e.Y));
                }
                else if (context_menu_strip != null)
                {
                    XplatUI.SetForegroundWindow(window.Handle);
                    context_menu_strip.Show(window, new Point(e.X, e.Y), ToolStripDropDownDirection.AboveLeft);
                }
            }

            MouseEventHandler eh = (MouseEventHandler)(Events [MouseUpEvent]);

            if (eh != null)
            {
                eh(this, e);
            }

            if (!double_click)
            {
                OnClick(EventArgs.Empty);
                OnMouseClick(e);
                double_click = false;
            }
        }