Beispiel #1
0
 protected override void OnMouseMove(MouseEventArgs e)
 {
     base.OnMouseMove(e);
     if (this._mouseDown)
     {
         this.UpdatePosition(e.Y);
     }
     else
     {
         if (this.ColorProvider != null && e.Y > _buttonSize && e.Y < (this.Height - _buttonSize))
         {
             int scrollPosition = Math.Max(0, (e.Y - this.Top - _buttonSize) * this.Maximum / (this.Height - _buttonSize * 2));
             if (_lastPreviewScrollPosition != scrollPosition)
             {
                 Point p = this.PointToScreen(new Point(this.ClientRectangle.Right, e.Y));
                 if (_codeTooltip == null)
                 {
                     _codeTooltip = this.ColorProvider.GetPreview(scrollPosition);
                 }
                 else
                 {
                     _codeTooltip.ScrollToLineIndex(scrollPosition);
                 }
                 if (_codeTooltip != null)
                 {
                     _codeTooltip.Left = p.X + 5;
                     _codeTooltip.Top  = p.Y;
                     _codeTooltip.Show();
                 }
                 _lastPreviewScrollPosition = scrollPosition;
             }
         }
     }
 }
Beispiel #2
0
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     if (_codeTooltip != null)
     {
         _codeTooltip.Close();
         _codeTooltip = null;
     }
     _lastPreviewScrollPosition = -1;
     _tmrScroll.Stop();
 }
Beispiel #3
0
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     if (_codeTooltip != null)
     {
         bool restoreFocus = _codeTooltip.NeedRestoreFocus;
         _codeTooltip.Close();
         if (restoreFocus)
         {
             this.Parent.Focus();
         }
         _codeTooltip = null;
     }
     _lastPreviewScrollPosition = -1;
     _tmrScroll.Stop();
 }