我目前正在尝试将光标设置在屏幕的某个区域。
我使用以下方法:
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
Cursor.Clip = new Rectangle(this.Location, this.Size);
但是,执行此代码时实际上没有发生任何事情。谁能告诉我发生了什么事?
答案 0 :(得分:0)
你不应该写这一行
this.Cursor = new Cursor(Cursor.Current.Handle); //Remove it
在此设置鼠标光标所在的区域。如果你想要锁定"这应该是第一行。鼠标光标在rectagle中。如果您不想这样做,请对此行进行评论。
Cursor.Clip = new Rectangle(this.Location, this.Size);
然后你可以将光标放在
位置 Cursor.Position = new Point(500, 500);
显示它如何运作的小例子。
// After first run uncomment this line and you will see mouse "locking" in your form ===> Cursor.Clip = new Rectangle(this.Location, this.Size);
for (int i = 0; i < 600; i++)
{
//Here you move your cursor.
//We get current position and shift it by 1.
Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y - 1);
//Sleep for 100ms
Thread.Sleep(100);
}
答案 1 :(得分:0)
光标应该只需要设置cursor.Position而不使用handels。只要你不需要与全球性的handels合作,这应该始终有效