मुझे लगता है कि समस्या यह है कि डिजाइनर पैनलों और उनकी सामग्री के संबंध में काम करता है की प्रकृति की दृष्टि से अपने फ़ॉन्ट संपत्ति है। डिफ़ॉल्ट रूप से लेबल के फ़ॉन्ट को उसके कंटेनर के फ़ॉन्ट से प्राप्त होता है (आप इसे पैनल में एक नियंत्रण जोड़कर इसका परीक्षण कर सकते हैं, और उसके बाद उस पैनल में एक लेबल जोड़ सकते हैं। फिर पैनल का फ़ॉन्ट बदलें, और व्हायोला, अपना लेबल - - जब तक कि आपने इसे गैर-डिफ़ॉल्ट फ़ॉन्ट नहीं दिया है - नए कंटेनर फ़ॉन्ट के साथ अपडेट किया जाएगा)।
तो, जैसा कि यह खड़ा है, जब नियंत्रण में जोड़ा जाता है, लेबल का फ़ॉन्ट कंटेनर के फ़ॉन्ट से मेल खाने के लिए अद्यतन किया जाता है, और अंतहीन पाश शुरू हो जाता है।
ऐसा लगता है कि यह आपके लेबल को बनाए जाने पर एक स्पष्ट फ़ॉन्ट देकर इसे ठीक कर सकता है। कुछ इस तरह समस्या को हल करने के लिए लगता है:
public CustomControlTest()
{
_label = new Label();
_label.Font = new Font("Ariel", 8.5f);
this.Controls.Add(_label);
}
ईटीए: हंस के जवाब में, मैं दुर्घटना प्रदान की कोड और VS2008 का उपयोग कर पुन: पेश करने में सक्षम था, और मैं फ़ॉन्ट आरंभ से दुर्घटना से बचने के लिए कर रहा था ।
ईटीए 2: मेरे पिछले ईटीए में, मुझे एहसास हुआ कि मेरी प्रतिक्रिया का इरादा मेरे मुकाबले ज्यादा कठिन हो सकता है। हो सकता है कि मुझे यह उल्लेख करने के लिए विस्तारित किया जाना चाहिए कि जब तक मैंने किसी रूप में नियंत्रण जोड़ने की कोशिश नहीं की तब तक मुझे दुर्घटना दिखाई नहीं दे रही थी। हंस सही है कि अपने आप में और उस कोड को विजुअल स्टूडियो को क्रैश करने का कारण नहीं बनना चाहिए ... यह तब होता है जब डिज़ाइनर प्रारंभ करने की कोशिश करने के लिए कदम उठाता है और नियंत्रण को खींचता है। उस नोट पर, कोई व्यक्ति किसी अन्य व्यक्ति की पोस्ट पर सीधे टिप्पणी कैसे जोड़ता है? क्या एक निश्चित न्यूनतम प्रतिष्ठा की आवश्यकता है?
मुझे यकीन नहीं है, लेकिन मैं इसे 'हटा दूंगा। कंट्रोल्स। जोड़ें (_ लेबल);' कन्स्ट्रक्टर से और इसे कहीं और डालें - यदि आपके पास * डिज़ाइन सीएस है, तो वहां सेट अप करें .. । – FrustratedWithFormsDesigner