移动光标 c#(cursor.position/cursor.clip 不工作)
Moving cursor c# (cursor.position/cursor.clip not working)
我目前正在尝试将光标设置在屏幕的某个区域。
我正在使用以下方法:
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);
然而,执行此代码时实际上没有发生任何事情。谁能告诉我这是怎么回事?
你不应该写这行
this.Cursor = new Cursor(Cursor.Current.Handle); //Remove it
在这里设置鼠标光标所在的区域。如果你想 "lock" 鼠标光标在矩形中,这应该是第一行。如果您不想这样做,请评论这一行。
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);
}
光标应该只需要设置 cursor.Position 而无需使用 handels。只要您不需要使用全局 handels,这应该始终有效
我目前正在尝试将光标设置在屏幕的某个区域。
我正在使用以下方法:
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);
然而,执行此代码时实际上没有发生任何事情。谁能告诉我这是怎么回事?
你不应该写这行
this.Cursor = new Cursor(Cursor.Current.Handle); //Remove it
在这里设置鼠标光标所在的区域。如果你想 "lock" 鼠标光标在矩形中,这应该是第一行。如果您不想这样做,请评论这一行。
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);
}
光标应该只需要设置 cursor.Position 而无需使用 handels。只要您不需要使用全局 handels,这应该始终有效