كيف يمكنني مسح Cursor.Clip في C #، والسماح للالمؤشر على التحرك بحرية مرة أخرى؟

StackOverflow https://stackoverflow.com/questions/1805260

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا أحاول أن يقفل المؤشر إلى شكل، وهذا هو لتطبيق الماوس خلع الملابس، وأنا أحاول التخلص المؤشر لذلك سيتم إعادة تعيين 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)؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top