2010-10-31 26 views
7

Estoy creando un control de usuario personalizado y me pregunto cómo se establece un valor inicial para una propiedad durante el tiempo de diseño. Tengo una propiedad llamada Alignment que tiene 4 valores de enumeración TopRight, TopLeft, BottomRight y BottomLeft. Entonces, cuando un usuario suelta el control del usuario en un Formulario, quiero que el valor inicial de la propiedad siempre sea BottomRight. ¿Cómo puedo hacer esto?¿Cómo establecer un valor inicial para una propiedad de control de usuario?

Respuesta

7

Debe establecer el valor inicial en el constructor de su control de usuario, o cuando declare la variable de respaldo para la propiedad.

El atributo DefaultValue no establece el valor inicial. Como se indica en el documentation, debe establecer el valor inicial en el código; el diseñador utilizará el atributo DefaultValue para determinar si generar código para establecer la propiedad.

+0

Gracias, eso fue todo. –

0

En su código de control de usuario detrás de inicializar la propiedad con el valor BottomRight.

3

establecer los atributos de la propiedad

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

} 

Editar: En realidad, lo anterior sólo ayuda al diseñador a determinar si necesita especificar de otro modo la propiedad en el código de inicialización.

Con esto en mente, simplemente usaría su constructor para establecer el valor predeterminado, o establecería el valor predeterminado con la declaración de la variable.

+3

El atributo 'DefaultValue' no establece el valor inicial. –

+0

En realidad, estás en lo cierto. Al parecer, determina si el diseñador necesita especificar el valor si es algo diferente – pinkfloydx33

Cuestiones relacionadas