2012-09-28 9 views
6

मेरे पास उपयोगकर्ता नियंत्रण है। उपयोगकर्ता नियंत्रण में, एक पिक्चरबॉक्स है जो पूरे स्क्रीन एस्टेट (डॉक.फिल) का उपयोग करता है। मैं कुंजीपटल घटनाओं को पकड़ना चाहता हूं (उदाहरण के लिए, पेस्ट कार्यक्षमता को लागू करने के लिए Ctrl-V)।Winforms में कीबोर्ड इवेंट प्रचार

हालांकि, पिक्चरबॉक्स में कोई महत्वपूर्ण घटना नहीं है। क्या पिक्चरबॉक्स (यानी उपयोगकर्ता नियंत्रण) के तहत अगली परत कुंजीअप ईवेंट प्राप्त करेगी? यदि मैं अपने कुंजीपटल ईवेंट हैंडलर को उपयोगकर्ता नियंत्रण में जोड़ता हूं, तो क्या वह काम करेगा? मुझे पता है कि डब्ल्यूपीएफ में रूटेड घटनाओं का समाधान है। यह दुनिया में Winforms कैसे काम करता है?

+0

साथ नियंत्रित करने के लिए असाइन किया गया है PictureBox फोकस नहीं ले जाएगा। तो हाँ, UserControl संदेश प्राप्त करता है। किसी उपयोगकर्ता के कीबोर्ड हैंडलिंग को फ़ॉर्म की ज़िम्मेदारी को नियंत्रित करने से बचें। –

उत्तर

4

आप घटना के रूप में प्राप्त कर सकते हैं। Form.KeyPreview देखें।

जब यह संपत्ति सत्य पर सेट की जाती है, तो फॉर्म सभी कीप्रेस, कीडाउन और कीप ईवेंट प्राप्त करेगा। बाद प्रपत्र के ईवेंट हैंडलर्स कीस्ट्रोक संसाधन पूरा कर लिया, कीस्ट्रोक तो फोकस

1

आप माउस बटन दबाने के बारे में उपयोग कर सकते हैं MouseUp, MouseEnter, MouseDown or MouseHover ....

लिंक: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousedown.aspx

लिंक: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx

+0

माउस कोई समस्या नहीं है। मुझे कीबोर्ड कार्यक्रमों के साथ समस्याएं थीं। – user1706184

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