2009-04-17 8 views
5

मैं कैसे जांचूं कि उपयोगकर्ता ने माउस के साथ या सी # नियंत्रण पर कलम स्टाइलस के साथ क्लिक किया है या नहीं।टैबलेट पीसी के लिए विकास करते समय, मैं कैसे निर्धारित करूं कि उपयोगकर्ता ने माउस या कलम पर क्लिक किया है या नहीं?

उदाहरण के लिए। यदि उपयोगकर्ता कलम बटन के साथ एक टेक्स्ट बॉक्स पर क्लिक करता है तो मैं एक इनपुट पैनल पॉप अप करना चाहता हूं लेकिन यदि वह माउस के साथ क्लिक करता है तो उसे नहीं करना चाहिए। तो मैं कैसे जांचूं कि वह माउस या पेन का उपयोग कर रहा था या नहीं?

संपादित करें: का उपयोग करते हुए विंडोज नहीं प्रपत्र WPF

उत्तर

6

मैंने एमएसडीएन के लिए एक लेख लिखा जो कभी प्रकाशित नहीं हुआ, मुझे लगता है क्योंकि टैबलेट पीसी विकास उस समय तक निकल गया जब तक मैं उन्हें मिला। लेकिन यह वर्णन किया कि यह कैसे करें। लंबी कहानी छोटी, आप GetMessageExtraInfo API चाहते हैं। यहाँ परिभाषाओं है:

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

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

आइंस्टीन टेक डॉट नेट पर मेरा पहला नाम पर मुझे ईमेल अगर तुम मुझे आप लेख भेजना चाहते हैं।

+0

धन्यवाद! एक आकर्षण की तरह काम करता है। –

+0

को एक एमएसडीएन आलेख का एक लिंक मिला जो बताता है कि उपर्युक्त काम अन्य जानकारी के साथ क्यों। http: // msdn .microsoft.com/en-us/पुस्तकालय/ms703320.aspx –

-1

मैं वास्तव में इस बारे में बहुत ज्यादा नहीं जानता, लेकिन मुझे लगता है कि चाहते हैं कि अगर किसी को एक स्टाइलस का उपयोग कर रहा है, तो mouseenter, mouseExit (या समतुल्य है जो कुछ भी) घटनाओं कभी आग नहीं होगी। अगर किसी को निकाल दिया जाता है, तो आप जानते हैं कि वे माउस का उपयोग कर रहे हैं।

+0

उन घटनाओं को अभी भी आग लगती है, यह माउस के बहुत तेज गति की तरह कार्य करता है। –

0

यदि आप WPF का उपयोग कर रहे हैं तो स्टाइलस ईवेंट का एक पूरा होस्ट है। जैसे UIElement.StylusDown

This में स्टाइलस और माउस ईवेंट कैसे इंटरैक्ट करते हैं, इस बारे में अधिक जानकारी है।

यदि आप WPF का उपयोग नहीं कर रहे हैं, तो क्यों नहीं? : पी

+0

दुर्भाग्य से मैं विंडोज फॉर्म का उपयोग कर रहा हूं :(इसके लिए कोई सुझाव? –

संबंधित मुद्दे

 संबंधित मुद्दे