4

カーソルをフォームにロックしようとしています。これはマウスロッカーアプリケーション用です。カーソルを破棄してCursor.Clip、ロックを解除するとリセットされるようにしています。

これまでのところ、私は持っています:

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

それはうまくいきます。

しかし、ロックを解除したときにクリップをクリアする方法がわかりません。私は試しましたが、うまくいきCursor.Dispose();ません。

何か案は?ありがとう。

4

3 に答える 3

12

実際には、新しい長方形に設定するだけです

Cursor.Clip = new Rectangle();

状況に関係なく機能します。

于 2009-12-15T04:19:18.430 に答える
2

これを試してください: アプリケーションの起動時に、 の値を取得Cursor.Clipし、クリップされていない値として保存します。次に、クリップをリセットする場合は、クリップされていない値を割り当てます。

更新:このページでは、VB.NET でカーソルのクリップを解除するには、Cursor.Clip=Nothing. しかし、Rectangle は構造体であり、null に設定できないため、これは奇妙です。したがって、C# では、おそらくCursor.Clip=Rectangle.Emptyor Cursor.Clip=default(Rectangle)?

于 2009-11-26T19:22:08.480 に答える
1

画面の寸法を含む に設定Clipします。Rectangle

Cursor.Clip = Screen.PrimaryScreen.Bounds;

もちろん、これはデュアル モニター設定では機能しませんが、アイデアはわかります。

于 2009-11-26T19:21:24.070 に答える