2012-10-05 3 views
0

Lorsque j'ajoute un contrôle à un formulaire via le concepteur, toutes les propriétés du contrôle n'apparaissent pas dans le code du concepteur. Par exemple, lorsque j'ajoute un ListBox, la propriété UseWaitCursor n'apparaît dans le code du concepteur que si elle est définie sur True. Lorsque je le change en False, il disparaît du code du concepteur, ce qui me fait penser que les propriétés ont des valeurs par défaut et n'apparaissent pas dans le code du concepteur si elles restent par défaut. Est-ce que quelqu'un peut m'aider s'il vous plaît à comprendre comment fonctionne le concepteur et où tout cela est suivi. La raison pour laquelle je demande est que j'écris actuellement une classe qui étend un contrôle ActiveX tiers que je prévois d'initialiser dynamiquement au moment de l'exécution. Je passais en revue le code de concepteur (quand le contrôle de tiers est ajouté par l'intermédiaire du concepteur) et beaucoup de ses propriétés n'apparaissent pas là.Propriétés par défaut du contrôle

Répondre

2

Ceci est fait avec l'attribut [DefaultValue]. La propriété Control.UseWaitCursor ressemble à ceci:

[DefaultValue(false)] 
public bool UseWaitCursor 
{ 
    // etc.. 
} 

Donc, si vous laissez la valeur à False dans la fenêtre Propriétés puis le concepteur sait qu'il ne doit pas afficher la valeur en gras et qu'il est pas nécessaire pour placer l'affectation de propriété dans la méthode InitializeComponent() car la valeur par défaut est déjà bonne. Un contrôle ActiveX aura certainement beaucoup de propriétés définies à sa valeur par défaut.

Questions connexes