2011-02-25 12 views
6

मैंने उपयोगकर्ता नियंत्रण बनाया है और इसे पहले से ही C# कोड में किसी फ़ॉर्म में जोड़कर इसका उपयोग करने में सक्षम था। उपयोगकर्ता नियंत्रण एक ही वीएस2005 परियोजना में मुख्य रूप के रूप में है।क्या मैं एक ही परियोजना से डीएलएल बनाये बिना UserControl का उपयोग कर सकता हूं?

समस्या यह है कि मैं इस कार्यान्वयन के साथ गुई संपादक ([डिजाइन] विंडो) में उपयोगकर्ता नियंत्रण नहीं देख सकता। मैंने कई चीजों की कोशिश की लेकिन मैं वास्तविक रूप से desing करने के लिए उपयोगकर्ता नियंत्रण जोड़ने में सक्षम नहीं था।

मैं नियंत्रण lib dll बनाने के बारे में कुछ चीजें पढ़ता हूं और फिर टूलबॉक्स में यह डीएल जोड़ता हूं लेकिन मैं एक अतिरिक्त प्रोजेक्ट और अतिरिक्त बाइनरी फ़ाइल नहीं चाहता हूं।

यदि मैं एक ही वीएस परियोजना में हैं, तो मैं एक फॉर्म डिज़ाइन में उपयोगकर्ता नियंत्रण का उपयोग कैसे कर सकता हूं? मुझे लगता है कि किसी भी तरह यह संभव होना चाहिए?

संपादित करें 1:

खेद है कि मैं दृश्य स्टूडियो 2005 2010

+0

उत्तर नहीं है, आपको इसे किसी अन्य प्रोजेक्ट में जोड़ने की आवश्यकता नहीं है और इसे एक डीएलएल में शामिल करने की आवश्यकता नहीं है। यह एक बार वीएस2005 में हुआ था। परियोजना के निर्माण के बाद टूलबार में मेरी नियंत्रण कक्षाएं दिखाई नहीं दे रही थीं। समस्या यह है कि ... मुझे याद नहीं है कि मैंने इसे कैसे हल किया। –

+0

क्या आपने टूलबॉक्स पर राइट क्लिक करने और "आइटम चुनें" चुनने का प्रयास किया है? – Jimmy

+0

हाँ ... लेकिन समस्या हल हो गई ... गलत दृश्य स्टूडियो सेटिंग थी। – fpdragon

उत्तर

11

यह एक ही प्रोजेक्ट का हिस्सा होने पर डिज़ाइन मोड में UserControl का उपयोग करना निश्चित रूप से संभव है।

ध्यान दें, हालांकि, यह केवल आपके टूलबॉक्स में दिखाई देगा यदि आपने "ऑटोटूलबॉक्सपोपलेट" सेटिंग सक्षम की है। "टूल्स" मेनू पर जाएं और "विकल्प" चुनें। "विंडोज फॉर्म डिज़ाइनर" का विस्तार करें, और "सामान्य" पर क्लिक करें। सुनिश्चित करें कि "AutoToolboxPopulate" संपत्ति सत्य पर सेट है। जब आप अपना समाधान पुनर्निर्माण करते हैं, तो आपके UserControl को आपके टूलबॉक्स के शीर्ष पर दिखाना चाहिए, जो आपके फॉर्म में जोड़ने के लिए तैयार है।

वैकल्पिक रूप से, आप अपने टूलबॉक्स में UserControl जोड़ सकते हैं। ऐसा करने के लिए, अपने टूलबॉक्स पर राइट-क्लिक करें और संदर्भ मेनू से "आइटम चुनें" का चयन करें। अपने नियंत्रण पर नेविगेट करें, सुनिश्चित करें कि यह सूची में चेक किया गया है, और "ठीक" पर क्लिक करें।

यदि कोई अपवाद फेंक दिया गया है (जैसे मैकएक्स का उल्लेख किया गया है), तो आपको अभी भी डिजाइनर द्वारा अधिसूचित किया जाएगा। नियंत्रण अभी भी टूलबॉक्स में दिखाई देगा, और आप अभी भी इसे अपने फॉर्म में जोड़ने का प्रयास कर पाएंगे।

+0

वह था !!! धन्यवाद और दूसरों को भी बहुत धन्यवाद! – fpdragon

0

आप Winforms डिजाइनर में एक कस्टम उपयोगकर्ता नियंत्रण का उपयोग करने के लिए सक्षम होना चाहिए नहीं। हालांकि आपको पहले अपनी परियोजना बनाना है। आप इसे बिल्ड -> बिल्ड सॉल्यूशन या F6 दबाकर कर सकते हैं। फिर आपका नियंत्रण टूलबॉक्स में दिखाना चाहिए।

+0

यहां तक ​​कि पुनर्निर्माण की कोशिश की गई लेकिन यह टूलबॉक्स में नहीं दिखाया गया है :( – fpdragon

0

हां, टूलबॉक्स में, राइट-क्लिक करें और "आइटम चुनें ..." चुनें। फिर ".NET Framework घटक" पर नेविगेट करें - आपके नियंत्रण वहां सूचीबद्ध होना चाहिए। बस उन्हें जोड़ने का चयन करें।

+0

hmmm यहां सूचीबद्ध नहीं है। पुनः संकलन के बाद भी। – fpdragon

+0

... सुनिश्चित नहीं है कि मेरे पास एक ही समस्या है और यह मेरे लिए काम करता है। ..ग्लैड आपको वैसे भी हल किया गया है! – Fraser

1

जैसा कि एपीश्रेडर ने पहले ही उल्लेख किया है कि नियंत्रण स्वचालित रूप से टूलबॉक्स में दिखाई देना चाहिए। यह अपने दृश्य स्टूडियो सेटिंग्स की जाँच नहीं होता है:

उपकरण - विकल्प - विण्डोज़ फॉर्म्स डिज़ाइनर - जनरल - AutoToolboxPopulate - यह सच है

आगे जानकारियां बस Walkthrough in the MSDN पढ़ें।

0

नियंत्रण के साथ कोई समस्या नहीं होनी चाहिए, सिवाय इसके कि आपके पास कन्स्ट्रक्टर या लोड-इवेंट के भीतर एक अपवाद है। डिजाइनर सही ढंग से नियंत्रण प्रदर्शित करने में सक्षम नहीं है।

0

उपयोगकर्ता नियंत्रण बनाने और इसे संकलित करने के बाद वीएस -2010 में, वीएस स्वचालित रूप से आपके घटक को जोड़ता है और टूलबार पर अपने नामस्थान में इसे दृश्यमान बनाता है। यह दोनों WPF और पुराने स्टाइल कोड/घटक दोनों में किया जा सकता है ...

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

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