如何在C#中清除Cursor.Clip并允许光标再次自由移动?

时间:2009-11-26 19:14:12

标签: c# cursor clip

我正在尝试将光标锁定到表单中,这是针对鼠标锁定器应用程序,我正在尝试处理光标,以便在解锁时重置Cursor.Clip

到目前为止,我有:

Cursor.Clip = new Rectangle(x +8, y +30, Size.Width -16, Size.Height -38);

工作正常。

但我无法弄清楚当它们解锁时如何清除它。 我试过Cursor.Dispose();但这不起作用。

有什么想法吗? 感谢。

3 个答案:

答案 0 :(得分:10)

实际上,我们的想法是将其设置为一个新的矩形

Cursor.Clip = new Rectangle();

无论情况如何,都可以。

答案 1 :(得分:1)

Clip设置为包含屏幕尺寸的Rectangle

Cursor.Clip = Screen.PrimaryScreen.Bounds;

当然,这不适用于双显示器设置,但你明白了。

答案 2 :(得分:1)

尝试此操作:当您的应用程序启动时,获取Cursor.Clip的值并将其另存为未剪切的值。然后,当您想要重置剪辑时,请指定未剪辑的值。

UPDATE In this page它说要在VB.NET中解开光标,只需Cursor.Clip=Nothing即可。但这很奇怪,因为Rectangle是一个结构,因此它不能设置为null。所以在C#中,可能是Cursor.Clip=Rectangle.EmptyCursor.Clip=default(Rectangle)