public override void OnMouseDoubleClick(MouseButtons mb) { base.OnMouseDoubleClick(mb); ChildrenCopy.HandleMouseDoubleClick(mb); }
public void HandleButton(bool isDown, bool wasDown, MouseButtons buttons) { if (isDown && !wasDown) { IsTouchDown = true; var ev = MouseDown; if (ev != null) { ev(this, new GenericEventArgs <MouseButtons>(buttons)); } InputOnMouseDown(); ChildrenCopy.HandleMouseDown(buttons); var td = TouchDown; if (td != null) { td(this, EventArgs.Empty); } ChildrenCopy.HandleTouchDown(); if ((DateTime.Now - _lastTouch).TotalMilliseconds < DoubleClickIntervalInMs) { // Double click var ev2 = MouseDoubleClick; if (ev2 != null) { ev2(this, new GenericEventArgs <MouseButtons>(buttons)); } ChildrenCopy.HandleMouseDoubleClick(buttons); _lastTouch = DateTime.MinValue; } else { _lastTouch = DateTime.Now; } } else if (!isDown && wasDown) { IsTouchDown = false; var ev = MouseUp; if (ev != null) { ev(this, new GenericEventArgs <MouseButtons>(buttons)); } ChildrenCopy.HandleMouseUp(buttons); var tu = TouchUp; if (tu != null) { tu(this, EventArgs.Empty); } ChildrenCopy.HandleTouchUp(); } }