मेरे पास एक .NET 3.5 विंडोज़ फॉर्म है जिसे मैं किसी अन्य रूप में एम्बेड करना चाहता हूं। क्या उस फॉर्म को नियंत्रण में बदलने का कोई त्वरित तरीका है?.NET: विंडोज़ विंडो को विंडोज़ नियंत्रण में कैसे परिवर्तित करें
धन्यवाद
मेरे पास एक .NET 3.5 विंडोज़ फॉर्म है जिसे मैं किसी अन्य रूप में एम्बेड करना चाहता हूं। क्या उस फॉर्म को नियंत्रण में बदलने का कोई त्वरित तरीका है?.NET: विंडोज़ विंडो को विंडोज़ नियंत्रण में कैसे परिवर्तित करें
धन्यवाद
बदलें प्रपत्र फार्म के बजाय UserControl से प्राप्त करना है, तो किसी भी त्रुटि के संकलन को ठीक।
वहाँ भी एक नियंत्रण में एक फार्म एम्बेड करने के लिए एक रास्ता है: यहाँ VB में कोड है:
Public Shared Sub ShowFormInControl(ByRef ctl As Control, ByRef frm As Form)
If ctl IsNot Nothing AndAlso frm IsNot Nothing Then
frm.TopLevel = False
frm.FormBorderStyle = FormBorderStyle.None
frm.Dock = DockStyle.Fill
frm.Visible = True
ctl.Controls.Add(frm)
End If
End Sub
मुझे लगता है कि मैं इतने पर एक और पद से इस कोड को प्राप्त कर लिया है, लेकिन मुझे याद नहीं कर सकते हैं, तो क्षमा करें अगर यह आपका कोड स्निपेट है!
यह नहीं कह रहा कि आपको यह करना चाहिए लेकिन भविष्य में आप MEF पर एक नज़र डाल सकते हैं। यह समग्र अनुप्रयोगों के निर्माण के लिए एक ढांचा है जो ऐसा लगता है जो आप इसे प्राप्त करने की कोशिश कर रहे हैं।
मैंने एक अतिरिक्त के साथ @Neil Barnwell के समाधान का उपयोग किया। मैं मैन्युअल .vbprog फ़ाइल संपादित और फ़ॉर्म की "उप-प्रकार" के लिए "UserControl" में बदल:
<SubType>UserControl</SubType>
यह नहीं बल्कि एक रूप की तुलना में एक उपयोगकर्ता नियंत्रण के रूप में दिखाने के लिए, परियोजना एक्सप्लोरर में आइकन अनुमति देता है।
इस मुद्दे को स्वयं ही निपटाने के दौरान बस यह जवाब मिला। बहुत बढ़िया कितना आसान है। –
मैं इसे VB.NET में कैसे करूं? फॉर्म को 'पब्लिक क्लास टाइमशीट ग्रिड' के रूप में घोषित किया गया है, जिसमें कोई स्पष्ट 'विरासत' नहीं है। – ProfK
विजुअल स्टूडियो 2012 (कम से कम) में या अपेक्षाकृत सरल रूपों के साथ मैंने कोशिश की है, ऐसा करने से यह उपयोग करने योग्य कोड बनाता है लेकिन आप वीएस डिजाइनर में नियंत्रण नहीं खोल सकते हैं। कोई त्रुटि नहीं, लेकिन जब आप डिज़ाइनर खोलते हैं तो आपको केवल सभी नियंत्रण तत्वों की एक सूची दिखाती है, यह फ़ाइल संवाद तत्वों/आदि के लिए कैसे करता है। लेकिन आप कोई नियंत्रण लेआउट नहीं देखते हैं। अगर कोई जानता है कि इसे कैसे ठीक किया जाए, तो बताओ! –