/// <summary> /// Raises the MouseMove event. /// </summary> /// <param name="e">A MouseEventArgs that contains the event data.</param> protected override void OnMouseMove(MouseEventArgs e) { // Call the base class's method so that registered delegates receive the event. base.OnMouseMove(e); // Update the state of the MouseInside property if the LeftMouseButtonDown property // is true. if (LeftMouseButtonDown) { MouseInside = VirtualClientRectangle.Contains(e.X, e.Y); } else { MouseInside = true; } }
/// <summary> /// Raises the MouseUp event. /// </summary> /// <param name="e">A MouseEventArgs that contains the event data.</param> protected override void OnMouseUp(MouseEventArgs e) { // Call the base class's method so that registered delegates receive the event. base.OnMouseUp(e); // No mouse inside until it moves again. MouseInside = false; // If the button is the left button, set the LeftMouseButtonDown property. if (e.Button == MouseButtons.Left) { LeftMouseButtonDown = false; if (VirtualClientRectangle.Contains(e.X, e.Y)) { OnPushed(EventArgs.Empty); } } }