public void ShowUp(ValueUpDown control) { if (control == null) { throw new ArgumentNullException("control"); } _tracker.Assign(control.Value, control.Maximum, control.Minimum); if (_trackerorientation == Orientation.Horizontal) { this.Width = Math.Max(32, control.Width + 24); //set mouse ShowByControl(control, control.PointToScreen(new Point(0, 22))); Point pt = _tracker.GetTrackerPos(); Cursor.Position = _tracker.PointToScreen(pt); Win32.PostMessage(_tracker.Handle, Win32.WM_LBUTTONDOWN, 0, (pt.Y << 16) | (pt.X - 1)); } else { this.Height = Math.Max(32, control.Width + 24); //set mouse Point mouse = Control.MousePosition; Point pt = _tracker.GetTrackerPos(); mouse = new Point(mouse.X - pt.X, mouse.Y - pt.Y); ShowByControl(control, mouse); Win32.PostMessage(_tracker.Handle, Win32.WM_LBUTTONDOWN, 0, (pt.Y << 16) | (pt.X - 1)); } }
public void ShowUp(ValueUpDown control) { if (control == null) throw new ArgumentNullException("control"); _tracker.Assign(control.Value, control.Maximum, control.Minimum); if (_trackerorientation == Orientation.Horizontal) { this.Width = Math.Max(32, control.Width + 24); //set mouse ShowByControl(control, control.PointToScreen(new Point(0, 22))); Point pt = _tracker.GetTrackerPos(); Cursor.Position = _tracker.PointToScreen(pt); Win32.PostMessage(_tracker.Handle, Win32.WM_LBUTTONDOWN, 0, (pt.Y << 16) | (pt.X - 1)); } else { this.Height = Math.Max(32, control.Width + 24); //set mouse Point mouse = Control.MousePosition; Point pt = _tracker.GetTrackerPos(); mouse = new Point(mouse.X - pt.X, mouse.Y - pt.Y); ShowByControl(control, mouse); Win32.PostMessage(_tracker.Handle, Win32.WM_LBUTTONDOWN, 0, (pt.Y << 16) | (pt.X - 1)); } }