public void MouseLeave() { if (m_MouseOverPart != eScrollPart.None) { if (m_MouseDown && (m_MouseOverPart == eScrollPart.Track || m_MouseOverPart != eScrollPart.None && m_PassiveScrollBar)) return; m_MouseOverPart = eScrollPart.None; this.Invalidate(); } }
public void MouseMove(MouseEventArgs e) { if (!m_Enabled) return; Point p = new Point(e.X, e.Y); if (m_MouseDown && m_MouseOverPart == eScrollPart.Track) { if (!m_PassiveScrollBar) { // Update Track position based on mouse position... int i = ValueFromMouseCoordinates(p); SetValue(i, ScrollEventType.ThumbTrack); //this.Value = i; } return; } if (e.Button != MouseButtons.None && m_MouseOverPart!=eScrollPart.None) return; if (m_DisplayRectangle.Contains(p)) { eScrollPart part = eScrollPart.Control; if (m_ThumbDecrease.Contains(p)) part = eScrollPart.ThumbDecrease; else if (m_ThumbIncrease.Contains(p)) part = eScrollPart.ThumbIncrease; else if (m_Track.Contains(p)) part = eScrollPart.Track; if (m_MouseOverPart != part) { m_MouseOverPart = part; this.Invalidate(); } } else if (m_MouseOverPart != eScrollPart.None) { m_MouseOverPart = eScrollPart.None; this.Invalidate(); } }