كيف تجعل شريط المسار WinForm (منزلق) يتصرف بشكل معقول على شاشة تعمل باللمس

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

سؤال

ما هي أسهل طريقة لتعديل شريط المسار WinForms بحيث عند النقر فوق المستخدم على ذلك، يقفز شريط المسار إلى موقع الماوس؟

افتراضيا، يتحرك شريط المسار إلى نصف الطريق بين الموقع الحالي ومكان النقر فوق الماوس.

تحديث: أحاول القيام بذلك حتى أتمكن من استخدام شريط المسار على شاشة تعمل باللمس. مع سحب الشاشة التي تعمل باللمس صعب للغاية، وبالتالي، فإن متطلبات شريط المسار للقفز مباشرة إلى حيث ينصوص المستخدم.

هل كانت مفيدة؟

المحلول

لم أفعل ذلك أبدا، لكنني سأبدأ من خلال النظر في موقع النقر فوق الماوس. أتمكن من معرفة ذلك إلى أي مدى عبر المدى الحالي ل TrackBar، وكانت نقرة واحدة واضبط موقع تعقب هذا المكان.

سأبدأ من خلال النظر في تجاوز عنصر التحكم ومعالجة وظائف الأحداث ذات الصلة بالماوس (OnMouseDown(), ، على سبيل المثال). لاحظ أنه في بعض الحالات قد يكون من المهم استدعاء تنفيذ الفئة الأساسية لوظيفة عملية تجاوز، تأكد من النظر في ذلك على أساس كل حالة على حدة. (أنا فقط ران عفول من هذا، لذلك فهو طازج في ذهني.)

لاحظ أنه يجب عليك تغيير سلوك عناصر التحكم القياسية فقط بهذه الطريقة إذا كان لديك جدا سبب مقنع. إنها معيار لأنهم يتصرفون بطريقة يمكن التنبؤ بها عبر العديد من البرامج / الآلاف من البرامج. جعل شيء يتصرف بشكل مختلف عن مجرد برنامجك يمكن أن ينتهك مبدأ الإيجار الدهشة. وبعد المسارات الوحيدة التي يمكنني التفكير فيها في ذلك أتوقع أن تتصرف بالطريقة التي تصفها هي نوع من مشغل الوسائط.

يحرر:بناء على تعليقك، نعم، أعتقد أنك قد حصلت على سبب مقنع. :)

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