Caut ajutor pentru setarea unei noi valori implicite pentru un control mostenit în Visual Studio:
class NewCombo : System.Windows.Forms.ComboBox
{
public NewCombo() { DropDownItems = 50; }
}
Problema este că proprietatea de clasă de bază DropDownItems
are un atribut "implicit" setat pe ea, care este o valoare diferită (nu 50). Ca rezultat, când trag controlul într-un formular, fișierul de designer primește o linie explicită mycontrol.DropDownItems = 50;
.
La început acest lucru nu contează. Dar dacă mai târziu îmi schimb clasa moștenită în DropDownItems = 45; , acest lucru nu afectează niciunul din comenzile de pe nici un formular, deoarece toate acele fișiere de designer au în continuare valoarea 50 codificată în ele. Iar punctul de vedere a fost ca valoarea să fie stabilită într-un singur loc, astfel încât să pot face față clienților să-și schimbe mintea.
Evident, dacă aș fi creat propria proprietate personalizată în subclasă, i-aș putea da propriul atribut implicit de designer al a ceea ce mi-am dorit. Dar aici vreau să schimb valori implicite ale proprietăților din bază. Există vreo modalitate de a aplica atributele Visual Studio unui membru de clasă de bază? Sau există altă soluție pentru a obține rezultatul dorit?