【发布时间】:2014-01-06 12:15:28
【问题描述】:
我知道如何使用以下方法使光标移动到某个位置:
Cursor.Position = New Point(XPosition, YPosition)
但是这样做会导致它立即移动到那里,我希望它以设定的速度从当前位置移动到新位置。
速度将由两个因素决定:
1 - 当前位置和新位置之间的距离 - EG。从 0X 到 500X 的速度为 5px/s,而从 0X 到 1000X 的速度为 10px/s)。
2 - 到达目标位置的有限时间范围。
我只知道这样做的混乱方式类似于:
If Cursor.Position.X < XPosition Then
Dim Speed as Integer = XPosition - Cursor.Position.X
While Cursor.Position.X < XPosition
Cursor.Position = New Point(Cursor.Position.X + Speed, Blah..)
End While
End If
'Etc..
这需要多个 If 语句来检查当前 X/Y 位置是否高于/低于目标 X/Y 位置。
有什么方法可以让代码更简洁?
【问题讨论】:
标签: vb.net automation mouse-cursor cursor-position