windows mobile - Honeywell Dolphin 9500 (Pocket PC 2003) C# Event Handling Conflicts? -


पर्यावरण
  • Windows XP x32 दृश्य स्टूडियो 2005 मानक संस्करण
  • Li>
  • .NET कॉम्पैक्ट फ्रेमवर्क 1.0 SP3 और .NET Framework 1.1
  • वीसी # का उपयोग

    लक्ष्य

    मैं हूं किसी एप्लिकेशन को बनाने का प्रयास करने से व्यक्ति को एक बारकोड स्कैन करने की अनुमति देता है और फिर एक छवि को कैप्चर करता है। ये बातें एक साथ नहीं होनी चाहिए उपयोगकर्ता को बारकोड स्कैन की जांच करने में सक्षम होना चाहिए, फिर उस ऐप्लिकेशन के हिस्से पर जायें जिससे छवि कैप्चरिंग हो।


    समस्या

    रेखा संख्या संदर्भित हो रही है मेरा कोड नीचे कोड अनुभाग में है।

    मेरे पास दो ईवेंट हैंडलर हैं: बारकोड स्कैनर नियंत्रण से एक डीकोड घटना के लिए, और एक को छवि कैप्चर नियंत्रण के माध्यम से एक कुंजीडाउन ईवेंट डीकोड नियंत्रण की अपनी घटना / हैंडलर DecodeEventHandler और एक ट्रिगर कुंजी सेट एक enum (एलएनएस 201 और 202) के साथ है। छवि नियंत्रण, हालांकि, नहीं करता है। इसके प्रलेखन में कहा गया है कि फ़ॉर्म में एक कुंजीडाउन ईवेंट हैंडलर (एलएन 120) और ट्रिगर कुंजी एंमान (एलएन 178) होना चाहिए। आवेदन को चलाने पर (चुने हुए इंडेक्स चेंगर्ड [एलएन 76] इवेंट हैंडलर के स्थान पर), बारकोड स्कैनर महान काम करता है, लेकिन टैब पर स्विच करना (या फॉर्म, जैसा कि मैंने भी अलग-अलग रूपों का प्रयास किया है), छवि कैप्चर नियंत्रण के साथ और डिवाइस पर ट्रिगर कुंजी (इस मामले में स्कैन) से टकराने के कारण हैंडहेल्ड को कार्य करने की वजह से यह अभी भी एक बारकोड स्कैन कर रहा है (लाल बत्ती पर आती है, हरा उद्देश्य प्रकाश दिखता है, बारकोड का सामना करते हुए बीप होता है) छवि नियंत्रण (कोई रोशनी, या सफेद रोशनी एक फ्लैश की तरह)।


    मैंने कोशिश की है
    • महत्वपूर्ण: अगर मैं एप्लिकेशन से डीकोड नियंत्रण को हटा दें, छवि नियंत्रण कार्य करता है अगर मैं केवल छवि नियंत्रण के साथ एक अलग आवेदन का निर्माण करता हूं, तो यह काम करता है।
    • मैंने लाइन 210 पर ब्रेक प्वाइंट लगाया और पता चला कि किडाउन इवेंट कभी भी हिट नहीं हो रही इस बिंदु पर मैंने किसी भी तरह से ईवेंट हैंडलर या नियंत्रण को अलग करने की कोशिश की, इसलिए मैंने अपने टैब नियंत्रण के लिए चुने हुए इंडेक्स-चेंज्ड इवेंट हैंडलर को शुरू किया और उचित नियंत्रण के साथ टैब पर स्विच करने पर मैंने ईवेंट हैंडलर्स को हटाने की कोशिश की मैं DecodeEvent हैंडलर निकालने में सक्षम था, लेकिन अभी भी KeyDown ईवेंट हैंडलर प्रतिनिधि को मैंने लिखा था कि वह हिट करने में असमर्थ था।
    • हनीवेल के एसडीके से डिकोड और छवि नियंत्रण दोनों "डिस्कनेक्ट" घटनाएं (दस्तावेज उद्धृत करने के लिए) "स्कैन इंजन से डिस्कनेक्ट" है। इसलिए मैंने डिस्कनेक्ट करने और पुन: कनेक्ट करने की कोशिश की, जिस पर मैं स्विच कर रहा था लेकिन इस पर असफल भी था।
    • मैंने यह भी कहीं पढ़ा है कि अगर फ़ॉर्म्स फ़ोकस खो देता है तो कभी-कभी प्रपत्र इवेंट कभी भी बाधित हो सकती हैं इसलिए मैंने प्रपत्र। लॉस्ट कंट्रोल इवेंट / हेन्डलर को कार्यान्वित किया है और इसे डाल दिया है। फोकस () फॉर्म पर फ़ोकस वापस करने के लिए, लेकिन कोई फायदा नहीं हुआ।
    • मैंने कई लोगों में से चलाया है जो कि मुख्यप्रदर्शन = सच है और हैंडलिंग / डेलिस्टिंग प्रपत्र स्तर पर की घटनाओं ऐसा प्रतीत होता है कि .NET कॉम्पैक्ट फ्रेमवर्क संस्करण 1 इसे लागू नहीं करता है क्योंकि मेरे प्रपत्र ऑब्जेक्ट में कोई मुख्यप्रदर्शन सदस्य नहीं है।
    • ट्रिगरकी एंमान के अंदर (उदाहरण के लिए पंक्ति 202 में) डिवाइस पर एन्टर कुंजी के लिए एक एन्यूम है । मैंने इमेज पर नियंत्रण करने के लिए तारों की कोशिश की, और डिकोडर नियंत्रण तक स्कैन किया लेकिन अभी भी कुंजी दाव घटना को हिट करने में असमर्थ था।

      कोड

      < / P>

      मैंने कोड को मित्रपैक्ट लिंक के रूप में पोस्ट किया है क्योंकि यह कुछ हद तक लंबा है (~ 230 लाइनें)। मुझे बताएं कि मुझे इसे यहां शामिल करना है या नहीं।


      अतिरिक्त जानकारी की आवश्यकता है?

      दूर से पूछो और मैं अपनी पूरी कोशिश करूंगा!

      I इस हनीवेल डॉल्फिन 9500 को टैग किया होगा, लेकिन मैं एक नया उपयोगकर्ता हूं।

      मुझे लगता है कि आप कर सकते हैं कुंजीडाउन हैंडलर को नहीं मिलता है कि वह TabControl1_IndexChanged के लिए है System.EventHandler जो कि < कोड> KeyDown

      इस तरह से कुछ करने की कोशिश करें और देखें कि क्या यह KeyDown

        निजी शून्य टैब को नियंत्रित कर रहा है नियंत्रण (1) ऑब्जेक्ट प्रेषक, EventArgs e) {if ( प्रेषक है फॉर्म 1 और amp; ए है KeyEventArgs) {फॉर्म 1_कीडाउन (प्रेषक, (KeyEventArgs) ई); } और {// अन्य सामान}}    

Comments