2010-10-31 13 views
7

Je crée un contrôle utilisateur personnalisé et je me demande comment définir une valeur initiale pour une propriété pendant la conception? J'ai une propriété appelée alignement qui a 4 valeurs enum TopRight, TopLeft, BottomRight et BottomLeft. Ainsi, lorsqu'un utilisateur dépose le contrôle utilisateur sur un formulaire, je veux que la valeur initiale de la propriété soit toujours BottomRight. Comment puis-je faire ceci?Comment définir une valeur initiale pour une propriété de contrôle utilisateur?

Répondre

7

Vous devez définir la valeur initiale dans le constructeur de votre contrôle utilisateur ou lorsque vous déclarez la variable de support de la propriété. L'attribut DefaultValue ne définit pas la valeur initiale. Comme indiqué dans le documentation, vous devez définir la valeur initiale dans le code; le concepteur utilisera l'attribut DefaultValue pour déterminer s'il faut générer du code pour définir la propriété.

+0

Merci, c'est ce que j'ai fait. –

0

Dans votre code de contrôle utilisateur, initialisez la propriété avec la valeur BottomRight.

3

Set Attributs pour la propriété

[DefaultValue(typeof(AlignmentType), "BottomRight")] 
public AlignmentType Alignment { 

} 

Edit: En fait, ce qui précède aide que le concepteur de déterminer si elle a besoin de faire autrement la propriété dans le code d'initialisation. Dans cet esprit, utilisez simplement votre constructeur pour définir la valeur par défaut ou définissez la valeur par défaut avec la déclaration de variable.

+3

L'attribut 'DefaultValue' ne définit pas la valeur initiale. –

+0

En fait, vous avez raison. Apparemment, il détermine si le concepteur doit spécifier la valeur si son quelque chose de différent – pinkfloydx33