كيف يمكنني مسح Cursor.Clip في C #، والسماح للالمؤشر على التحرك بحرية مرة أخرى؟
سؤال
وأنا أحاول أن يقفل المؤشر إلى شكل، وهذا هو لتطبيق الماوس خلع الملابس، وأنا أحاول التخلص المؤشر لذلك سيتم إعادة تعيين Cursor.Clip
عندما فتحه.
وحتى الآن لدي:
Cursor.Clip = new Rectangle(x +8, y +30, Size.Width -16, Size.Height -38);
وهذا يعمل بشكل جيد.
ولكن أنا لا يمكن معرفة كيفية مسح مقطع عندما فتحه.
لقد حاولت Cursor.Dispose();
ولكن هذا لا يعمل.
وأي أفكار؟ شكرا.
المحلول
وتعيين Clip
إلى Rectangle
التي تحتوي على أبعاد الشاشة.
Cursor.Clip = Screen.PrimaryScreen.Bounds;
وبطبيعة الحال، هذا لن تعمل مع الاجهزة مراقبة مزدوجة، ولكن تحصل على هذه الفكرة.
نصائح أخرى
والواقع والفكرة هي أن مجرد تعيين إلى مستطيل جديد
Cursor.Clip = new Rectangle();
وكان يعمل بغض النظر عن الوضع.
وجرب هذا: عند بدء تشغيل التطبيق الخاص بك، والحصول على قيمة Cursor.Clip
وحفظه حيث بلغت قيمة unclipped. ثم عندما تريد إعادة تعيين مقطع، تعيين قيمة unclipped.
<القوي> UPDATE : ل في هذه الصفحة تقول أن لقم بفك المؤشر في VB.NET، وهو ما يكفي للقيام Cursor.Clip=Nothing
. ولكن هذا أمر غريب منذ مستطيل هو بنية وبالتالي فإنه لا يمكن ان تترك فارغة. وذلك في C #، ربما سيكون من Cursor.Clip=Rectangle.Empty
أو Cursor.Clip=default(Rectangle)
؟