विजुअल स्टूडियो - विरासत नियंत्रण के लिए नया "डिफ़ॉल्ट" संपत्ति मान

मैं विजुअल स्टूडियो में विरासत नियंत्रण के लिए एक नया डिफ़ॉल्ट संपत्ति मान सेट करने में सहायता की तलाश में हूं:

class NewCombo : System.Windows.Forms.ComboBox
{
  public NewCombo() { DropDownItems = 50; }
}

समस्या यह है कि बेस क्लास प्रॉपर्टी DropDownItems पर एक 'डिफ़ॉल्ट' विशेषता सेट है जो एक अलग मान है (50 नहीं)। नतीजतन, जब मैं नियंत्रण को किसी रूप पर खींचता हूं, तो डिज़ाइनर फ़ाइल को एक स्पष्ट mycontrol.DropDownItems = 50; पंक्ति मिलती है।

पहले इससे कोई फर्क नहीं पड़ता। लेकिन अगर बाद में मैं अपनी विरासत कक्षा को DropDownItems = 45; में कनवर्टर में बदलता हूं तो यह किसी भी रूप में किसी भी नियंत्रण को प्रभावित नहीं करता है क्योंकि उन सभी डिज़ाइनर फ़ाइलों में अभी भी 50 हार्ड-कोडित मूल्य है। और पूरा बिंदु एक स्थान पर मूल्य निर्धारित करना था ताकि मैं अपने दिमाग को बदलने वाले ग्राहक से निपट सकूं।

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

0
ro fr bn

1 उत्तर

आपकी व्युत्पन्न कक्षा में आपको प्रश्न में संपत्ति को ओवरराइड (या new का उपयोग करके छाया) की आवश्यकता होती है और फिर डिफ़ॉल्ट मान विशेषता को फिर से लागू करने की आवश्यकता होती है।

0
जोड़ा