protected virtual void OnMouseUp(object o, MouseEventArgs e) { if (MouseUp != null) { MouseUp(this, e); } if (e.Button == MouseButtons.Right && _contextMenu != null) { _messages.Activate(); Point position = new Point(Cursor.Position.X - _messages.PointToScreen(new Point(0, 0)).X, Cursor.Position.Y - _messages.PointToScreen(new Point(0, 0)).Y); _contextMenu.Show(_messages, position); } }
/// <summary> /// Event handler for the MessageHandler's MouseUp event. /// </summary> /// <remarks>If the right mouse button was clicked, then the ContextMenu will be shown /// at the current cursor location.</remarks> /// <param name="sender">The source of the event.</param> /// <param name="e">The event parameters.</param> private void Messages_MouseUp(object sender, MouseEventArgs e) { OnMouseUp(e); if (e.Button == MouseButtons.Right) { _Messages.Activate(); Point zeroPoint = new Point(0, 0); int newX = Cursor.Position.X - _Messages.PointToScreen(zeroPoint).X; int newY = Cursor.Position.Y - _Messages.PointToScreen(zeroPoint).Y; Point position = new Point(newX, newY); if (_ContextMenu != null) { _ContextMenu.Show(_Messages, position); } } }