2008-08-27 12 views
36

आप डिज़ाइनर को ऑटो जनरेटिंग कोड से कैसे रोकते हैं जो उपयोगकर्ता नियंत्रण पर सार्वजनिक गुणों के लिए मूल्य सेट करता है?उपयोगकर्ता नियंत्रण पर सार्वजनिक गुणों के लिए डिज़ाइनर जनरेटिंग कोड को आप कैसे रोकते हैं?

+3

उपयोग कर रहा हूँ मैं आश्चर्य क्या अपने गुणों के साथ बंदर को डिजाइनर के लिए उद्देश्य है ... – GorillaApe

+0

मैं समस्याओं डिजाइनर खोलने की थी क्योंकि मैं डी ने क्लासलिब के पुराने संस्करण से गलती से एक ऑब्जेक्ट को क्रमबद्ध किया था जिसका उपयोग मैं कर रहा था। ट्रेस करने के लिए कष्टप्रद: http://stackoverflow.com/questions/28272552/visual-studio-2013- डिज़ाइनर- ट्राइंग-to-load-wrong-version-of-project-dll – scotru

उत्तर

61

गुण है कि आप डिजाइनर क्रमबद्धता से छिपाने के लिए और छिपे हुए पैरामीटर सेट करना चाहते हैं पर DesignerSerializationVisibilityAttribute का प्रयोग करें।

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
public string Name 
{ 
    get; 
    set; 
} 
+1

आह, अंत में मैं इस परेशानी की समस्या को हल कर सकता हूं! –

+0

बेस फॉर्म में सार्वजनिक संपत्ति की एक संपत्ति की टेक्स्ट संपत्ति से जुड़ी बहुत उपयोगी है। संपादक विरासत में मान सेट करना चाहता है और इसलिए स्थानीयकरण के साथ गड़बड़ करना चाहता है। एसओ पर [एक और समस्या] के समान (http://stackoverflow.com/q/13145340/395718)। – Dialecticus

5

आपके नियंत्रण में संपत्ति के लिए निम्न विशेषताएं जोड़ें:

[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
0

एरिक के जवाब देने के लिए एक मामूली परिवर्तन मैं वी.एस. 2013.

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
public new string Name { 
    get; 
    set; 
} 
+1

"नाम" के लिए संपत्ति का मेरा नाम दुर्भाग्यपूर्ण था। इससे बेहतर कुछ नाम देना बेहतर होगा क्योंकि सभी नियंत्रणों में पहले से ही नाम संपत्ति है। बेस क्लास प्रॉपर्टी को छुपाने के लिए आपको नए कीवर्ड का उपयोग करना है। :) –

+0

हां, जवाब के बाद से मैं खुद को खराब कर चुका हूं। – peterincumbria

+0

जैसा कि एरिक ने स्वयं यह उत्तर दिया है, वास्तविक प्रश्न – TheLethalCoder

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