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

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

  •  09-09-2019
  •  | 
  •  

سؤال

كيف يمكنني التحقق مما إذا نقر المستخدم باستخدام الماوس أو مع قلم القلم على عنصر تحكم C #.

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

تحرير: استخدام نماذج Windows NOT WPF

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

المحلول

كتبت مقالا ل MSDN التي لم يتم نشرها لم يتم نشرها، وأعتقد أن تطوير أجهزة الكمبيوتر اللوحي متفوقة بحلول الوقت الذي حصلت عليه. لكنه وصف كيفية القيام بذلك. قصة قصيرة طويلة، سترغب في GetMessageExTrainfo API. إليك التعاريف:

// [DllImport( "user32.dll" )]
// private static extern uint GetMessageExtraInfo( );

uint extra = GetMessageExtraInfo();
bool isPen = ( ( extra &  0xFFFFFF00 ) == 0xFF515700 );

أرسل لي رسالة عبر البريد الإلكتروني في أول اسمي في Einstein Tech Dot Net إذا كنت تريد مني أن أرسل لك المقال.

نصائح أخرى

إذا كنت تستخدم WPF، فهناك مجموعة كاملة من أحداث القلم. على سبيل المثال uielement.stylusdown..

هذه لديه المزيد من التفاصيل حول كيفية تفاعل أحداث القلم والماوس.

إذا كنت لا تستخدم WPF، فلماذا لا؟ : P.

لا أعرف الكثير عن هذا الأمر، لكنني أعتقد أنه إذا كان شخص ما يستخدم القلم، فلن يطلق الأحداث MouseEnter، أو أيا كان ما يعادلها) من أي وقت مضى. إذا تم إطلاق النار، فأنت تعلم أنهم يستخدمون الماوس.

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