Frage

Ich bin auf der Suche nach Hilfe Einstellung einer neuen default-Eigenschaft-Wert für eine vererbte control in Visual Studio:

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

Das problem ist, dass die Basisklasse Eigenschaft DropDownItems hat eine "Standard" - Attribut gesetzt, auf einen anderen Wert (nicht 50).Als Ergebnis, wenn ich ziehen Sie das Steuerelement auf einem Formular, die designer-Datei wird eine explizite mycontrol.DropDownItems = 50; Linie.

Auf den ersten, das ist egal.Aber wenn ich später meine geerbte Klasse DropDownItems = 45; im Konstruktor, so berührt dies nicht eines der Steuerelemente, die auf irgendeiner form seit alle diejenigen, die designer-Dateien immer noch den Wert 50 hard-coded in Ihnen.Und der springende Punkt war, um den Wert in einem Ort, so kann ich viel mit den Kunden ändert sich seine Einstellung.

Offensichtlich, wenn ich meine eigene benutzerdefinierte Eigenschaft in der Unterklasse, ich könnte ihm seine eigenen designer-default-Attribut, was ich wollte.Aber hier bin ich wollen ändern die Standard-Werte der Eigenschaften in der Basis.Gibt es eine Möglichkeit für die Anwendung von Visual Studio Attribute base class member?Oder gibt es eine andere Problemumgehung, um das Ergebnis bekommen, das ich will?

War es hilfreich?

Lösung

In der abgeleiteten Klasse müssen Sie entweder überschreiben (oder "Schatten" verwenden neue) die Eigenschaft in Frage und re-gelten die default-value-Attribut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top