usar - user control c# ejemplo
DefaultValue for System.Drawing.SystemColors (3)
Debe cambiar el primer argumento de SystemColors
a Color
.
Parece que no hay un convertidor de tipos para el tipo SystemColors
, solo para el tipo de Color
.
[DefaultValue(typeof(Color),"InactiveBorder")]
Tengo una propiedad de color de línea en mi control de cuadrícula personalizado. Quiero que sea predeterminado a Drawing.SystemColors.InactiveBorder
. Lo intenté:
[DefaultValue(typeof(System.Drawing.SystemColors), "InactiveBorder")]
public Color LineColor { get; set; }
Pero parece que no funciona. ¿Cómo hago eso con el atributo de valor predeterminado?
Esto puede ayudar: http://support.microsoft.com/kb/311339 : un artículo de KB titulado "La documentación de MSDN para la clase DefaultValueAttribute puede ser confusa"
Según el enlace publicado por Matt, el atributo DefaultValue no establece el valor predeterminado de la propiedad, solo le permite al diseñador del formulario saber que la propiedad tiene un valor predeterminado. Si cambia una propiedad del valor predeterminado, se muestra en negrita en la ventana de propiedades.
No puede establecer un valor predeterminado usando propiedades automáticas; tendrá que hacerlo a la antigua:
class MyClass
{
Color lineColor = SystemColors.InactiveBorder;
[DefaultValue(true)]
public Color LineColor {
get {
return lineColor;
}
set {
lineColor = value;
}
}
}