Beispiel #1
0
        private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs args)
        {
            args.Handled = true;
            Point position = args.GetPosition(this);

            ActivePart = GetActivePart(position.X);
            _startX    = position.X;

            switch (ActivePart)
            {
            case ActivePartType.Left:
            case ActivePartType.Right:
                Cursor = Cursors.SizeWE;
                CaptureMouse();
                break;

            case ActivePartType.Middle:
                Cursor = Cursors.Hand;
                CaptureMouse();
                break;

            case ActivePartType.Outside:
                Cursor = Cursors.Arrow;
                break;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Ctor
        /// </summary>
        public ChartScrollerEx()
        {
            ActivePart = ActivePartType.Outside;
            Height     = 50;

            MouseMove           += OnMouseMove;
            MouseLeftButtonUp   += OnMouseLeftButtonUp;
            MouseLeftButtonDown += OnMouseLeftButtonDown;
            LostMouseCapture    += OnLostMouseCapture;
            SizeChanged         += OnSizeChanged;
        }
Beispiel #3
0
        private void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs args)
        {
            args.Handled = true;
            Point position = args.GetPosition(this);

            if (ActivePart != ActivePartType.Outside)
            {
                UpdateIndexes(position);

                ActivePart = ActivePartType.Outside;
                ReleaseMouseCapture();
            }
        }
Beispiel #4
0
 private void OnLostMouseCapture(object sender, MouseEventArgs mouseEventArgs)
 {
     ActivePart = ActivePartType.Outside;
 }