Visual Studio - nouvelles valeurs de propriété « par défaut » pour les contrôles hérités

StackOverflow https://stackoverflow.com/questions/7367

  •  08-06-2019
  •  | 
  •  

Question

Je recherche de l'aide pour définir une nouvelle valeur de propriété par défaut pour un contrôle hérité dans Visual Studio :

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

Le problème est que la propriété de la classe de base DropDownItems a un attribut « par défaut » défini qui est une valeur différente (et non 50).Par conséquent, lorsque je fais glisser le contrôle sur un formulaire, le fichier du concepteur obtient un message explicite. mycontrol.DropDownItems = 50; doubler.

Au début, cela n'a pas d'importance.Mais si plus tard je change ma classe héritée en DropDownItems = 45; dans le constructeur, cela n'affecte aucun des contrôles d'aucun formulaire puisque tous ces fichiers de concepteur ont toujours la valeur 50 codée en dur.Et le but était d'avoir la valeur définie en un seul endroit afin que je puisse faire face au changement d'avis du client.

Évidemment, si je créais ma propre propriété personnalisée dans la sous-classe, je pourrais lui donner son propre attribut par défaut du concepteur, selon ce que je voulais.Mais ici, je souhaite modifier les valeurs par défaut des propriétés de la base.Existe-t-il un moyen d'appliquer les attributs Visual Studio à un membre de la classe de base ?Ou existe-t-il une autre solution pour obtenir le résultat souhaité ?

Était-ce utile?

La solution

Dans votre classe dérivée, vous devez soit remplacer (ou masquer en utilisant nouveau) la propriété en question, puis réappliquez l'attribut de valeur par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top