移动光标c#(cursor.position / cursor.clip不工作)

时间:2015-09-30 04:42:16

标签: c# cursor

我目前正在尝试将光标设置在屏幕的某个区域。

我使用以下方法:

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);

但是,执行此代码时实际上没有发生任何事情。谁能告诉我发生了什么事?

2 个答案:

答案 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合作,这应该始终有效