2009-03-23 13 views
9

WinForms की दुनिया में .NET नियंत्रणघटक बनाम नियंत्रण

घटक और नियंत्रण के बीच क्या अंतर है?

क्या नियंत्रण में घटक शामिल हो सकते हैं? क्या एक घटक में नियंत्रण हो सकता है?

+0

यह आलेख सहायता कर सकता है: http://msdn.microsoft.com/en-us/library/0b1dk63b.aspx –

उत्तर

5

एक नियंत्रण में खिड़की के रूप में कार्य करने के लिए आवश्यक सभी नलसाजी हैं। विंडो संदेशों (WndProc) का जवाब देने की क्षमता और एक हैंडल सबसे प्रमुख है। घटक सब कुछ याद आ रही है। यह वास्तव में सरल है, इसमें डिजाइन समय का समर्थन है और इसे निपटान किया जा सकता है, यह इसके बारे में है।

घटक अभी भी रनटाइम प्रतिनिधित्व कर सकते हैं, ओपनफाइलडियलॉग सबसे अच्छा उदाहरण है। लेकिन यह वास्तव में विंडोज़ में बनाया गया एक संवाद है, विंडोज़ फॉर्म नहीं।

+0

और ऐसा प्रतीत होता है कि घटकों में 'लोड' ईवेंट नहीं है। तो आप प्रारंभिक प्रदर्शन कैसे करते हैं जिसे घटक को लोड करने वाले फ़ॉर्म के बाद होने की आवश्यकता है ??? –

+0

सामान्य रूप से, एक घटक यह नहीं जानता कि रनटाइम पर यह किस प्रकार का है। इसलिए फॉर्म की लोड स्थिति की परवाह नहीं होगी और कन्स्ट्रक्टर सभी आवश्यक प्रारंभिक कार्य करने के लिए पर्याप्त है। अपनी आवश्यकताओं को समझाने के लिए प्रश्न पूछें बटन पर क्लिक करें। –

+0

मेरा घटक निश्चित रूप से परवाह करता है, क्योंकि जब कन्स्ट्रक्टर चलता है तो सभी ईवेंट हैंडलर शून्य होते हैं। आप मेरा प्रश्न [यहां] देख सकते हैं (http://stackoverflow.com/questions/17332643/determining-when-the-owner-of-a-component-has-loaded)। धन्यवाद। –

1

एक घटक केवल एक ऑब्जेक्ट/उप एपीआई का प्रतिनिधित्व है। जैसे। ImageList एक घटक है जो अदृश्य है और छवियों के एक सेट में सिर्फ एक एपीआई है। तथ्य यह है कि आप उन्हें खींच सकते हैं और उन्हें फॉर्म पर छोड़ सकते हैं डिजाइनर में सिर्फ चीनी है।

एक नियंत्रण दृश्य/इंटरैक्टेबल/घोंसले के लिए लक्षित है।

+0

प्रश्न का दूसरा हिस्सा भी है। – NileshChauhan

0

आपकी टिप्पणी के जवाब में, ऑब्जेक्ट ब्राउज़र में घटक और नियंत्रण को विभिन्न ऑब्जेक्ट पदानुक्रमों से देखा जा सकता है। एक घटक को नियंत्रण में जोड़ा नहीं जा सकता है, क्योंकि नियंत्रण संग्रह केवल मूल प्रकार के नियंत्रण वाले ऑब्जेक्ट स्वीकार करता है।

एक घटक में नियंत्रण नहीं हो सकता है।

1

घटक मूल रूप से एक वर्ग है (यह एक डीएल, Activex ऑब्जेक्ट हो सकता है)।

  • इसमें उपयोगकर्ता इंटरफ़ेस क्षमता नहीं है इसलिए आप दृश्य प्रतिनिधित्व नहीं देख सकते हैं।
  • यह पोर्टेबल है और किसी भी भाषा के लिए विशिष्ट नहीं है।

जबकि दूसरी ओर नियंत्रण पर घटक है जो उपयोगकर्ता इंटरफ़ेस क्षमताएं प्रदान करती है।

  • चूंकि नियंत्रण में यूआई है, तो आप इसका दृश्य प्रतिनिधित्व देख सकते हैं।
  • यह भाषा विशिष्ट है और पोर्टेबल नहीं है।
संबंधित मुद्दे