कीबोर्ड इनपुट का कार्य सिद्धांत
विंडोज फॉर्म्स विंडोज संदेशों के जवाब में कीबोर्ड इवेंट्स को बढ़ाकर कीबोर्ड इनपुट को संभालता है। अधिकांश विंडोज फॉर्म्स एप्लिकेशन कीबोर्ड इवेंट्स को प्रोसेस करके विशेष रूप से कीबोर्ड इनपुट को संभालते हैं। हालाँकि, अधिक उन्नत कीबोर्ड इनपुट परिदृश्यों को लागू करने के लिए (जैसे कि किसी नियंत्रण तक पहुँचने से पहले कीस्ट्रोक्स को रोकना), यह समझना आवश्यक है कि कीबोर्ड संदेश कैसे काम करते हैं। यह विषय कीस्ट्रोक डेटा के प्रकारों का वर्णन करता है जिसे विंडोज फॉर्म्स पहचान सकता है और बताता है कि कीबोर्ड संदेश कैसे वितरित किए जाते हैं। कीबोर्ड इवेंट्स के बारे में जानकारी के लिए, देखें कीबोर्ड इवेंट्स का उपयोग करना.
विंडोज फॉर्म्स कीबोर्ड इनपुट को बिटवाइज़ द्वारा दर्शाए गए वर्चुअल की कोड के रूप में पहचानता है Keys
गणना। Keys
गणना आपको एक मान उत्पन्न करने के लिए कीस्ट्रोक्स की एक श्रृंखला को संयोजित करने की अनुमति देती है, जो WM_KEYDOWN
और WM_SYSKEYDOWN
विंडोज संदेशों के साथ आने वाले मानों से मेल खाती है। अधिकांश भौतिक कुंजी संचालन का पता KeyDown
या KeyUp
इवेंट्स को संभालकर लगाया जा सकता है।
कैरेक्टर कुंजियाँ Keys
गणना का एक सबसेट हैं, जो WM_CHAR
और WM_SYSCHAR
विंडोज संदेशों के साथ आने वाले मानों से मेल खाती हैं। यदि कोई कीस्ट्रोक संयोजन एक कैरेक्टर उत्पन्न करता है, तो आप KeyPress
इवेंट को संभालकर इसका पता लगा सकते हैं। वैकल्पिक रूप से, आप दबाई गई कुंजियों की पहचान करने और भेजने के लिए विजुअल बेसिक प्रोग्रामिंग इंटरफेस द्वारा उजागर किए गए Keyboard
ऑब्जेक्ट का उपयोग कर सकते हैं। अधिक जानकारी के लिए, देखें कीबोर्ड तक पहुँचना.
जैसा कि ऊपर सूचीबद्ध है, एक नियंत्रण पर तीन कीबोर्ड-संबंधित इवेंट हो सकते हैं। निम्नलिखित वह सामान्य क्रम है जिसमें ये इवेंट होते हैं:
- उपयोगकर्ता "a" कुंजी दबाता है। कुंजी को प्रीप्रोसेस और डिस्पैच किया जाता है, और एक
KeyDown
इवेंट होता है।
- उपयोगकर्ता "a" कुंजी को दबाए रखता है। कुंजी को प्रीप्रोसेस और डिस्पैच किया जाता है, और एक
KeyPress
इवेंट होता है।
- यह इवेंट कई बार होता है यदि उपयोगकर्ता कुंजी को दबाए रखता है।
- उपयोगकर्ता "a" कुंजी को छोड़ता है। कुंजी को प्रीप्रोसेस और डिस्पैच किया जाता है, और एक
KeyUp
इवेंट होता है।