2008-08-10 10 views
9

szukam pomocy ustawienie nowej wartości domyślne właściwości dla odziedziczonej kontroli w Visual Studio:Visual Studio - nowe „default” wartości właściwości dla odziedziczonych kontroli

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

Problemem jest to, że właściwość klasy bazowej DropDownItems ma ustawiony "domyślny" atrybut, który ma inną wartość (nie 50). W rezultacie po przeciągnięciu kontrolki na formularz plik projektanta otrzymuje wyraźną linię mycontrol.DropDownItems = 50;.

Na początku to nie ma znaczenia. Ale jeśli później zmienię dziedziczoną klasę na DropDownItems = 45; w konstruktorze, nie wpłynie to na żadną z formantów w jakiejkolwiek formie, ponieważ wszystkie te pliki projektanta nadal mają wartość 50 zakodowaną w nich. A cała sprawa polegała na tym, aby wartość była ustawiona w jednym miejscu, aby poradzić sobie z klientem zmieniającym zdanie.

Oczywiście, gdybym tworzył własną własność w podklasie, mógłbym nadać jej własny domyślny atrybut projektanta czegokolwiek chciałem. Ale tutaj chcę zmienić domyślne wartości właściwości w bazie. Czy istnieje sposób na zastosowanie atrybutów Visual Studio do członka klasy podstawowej? Czy istnieje inne obejście, aby uzyskać pożądany rezultat?

Odpowiedz

4

W swojej klasie pochodnej musisz zastąpić (lub śledzić przy użyciu nowy) właściwość, o której mowa, a następnie ponownie zastosować domyślny atrybut wartości.

Powiązane problemy