示例#1
0
        /// <summary>
        /// Implements <see cref="IMouse.DragVertically(MouseButton, IUIItem, int)"/>
        /// </summary>
        public virtual void DragVertically(MouseButton mouseButton, IUIItem uiItem, int distance)
        {
            Move(uiItem.Bounds.Center());
            var currentXLocation = Location.X;
            var currentYLocation = Location.Y;

            MouseWin32.MouseButtonDown(mouseButton);
            ActionPerformed(uiItem);
            Move(new Point(currentXLocation, currentYLocation + distance));
            MouseWin32.MouseButtonUp(mouseButton);
        }
示例#2
0
        /// <summary>
        /// Implements <see cref="IMouse.DragAndDrop(MouseButton, IUIItem, Point, IUIItem, Point)"/>
        /// </summary>
        public virtual void DragAndDrop(MouseButton mouseButton, IUIItem draggedItem, Point startPosition, IUIItem dropItem, Point endPosition)
        {
            Move(startPosition);
            MouseWin32.MouseButtonDown(mouseButton);
            var dragStepFraction = (float)(1.0 / CoreAppXmlConfiguration.Instance.DragStepCount);

            for (var i = 1; i <= CoreAppXmlConfiguration.Instance.DragStepCount; i++)
            {
                var newX     = startPosition.X + (endPosition.X - startPosition.X) * (dragStepFraction * i);
                var newY     = startPosition.Y + (endPosition.Y - startPosition.Y) * (dragStepFraction * i);
                var newPoint = new Point((int)newX, (int)newY);
                Move(newPoint);
            }
            MouseWin32.MouseButtonUp(mouseButton);
            dropItem.ActionPerformed(Action.WindowMessage);
        }