Estoy construyendo una aplicación WinForms, y estoy usando colores específicos en la mayoría de los controles. Lo hago a veces desde el diseñador de WinForms, y algunas veces directamente en mi código.¿Cómo debo implementar un código de color para toda la aplicación en una aplicación WinForm?
que tiene una clase estática en algún lugar con ese aspecto:
public static class MyColors
{
public static Color DarkGreen = Color.FromArgb(0, 70, 62);
...
public static Color Orange = Color.FromArgb(239, 132, 16);
}
puedo usar esos colores en mi código con bastante facilidad, pero es imposible hacer del diseñador, lo que plantea este error:
MyColors.DarkGreen no es un valor válido para Int32.
(He tratado de almacenar la representación Int32 de esos colores, pero esto no funciona con el mismo error)
La solución que estoy usando en este momento es usar el código de color RGB en el diseñador , los valores de clase MyColors en mi código, y estoy haciendo cambios usando la funcionalidad de reemplazar todos los de Visual Studio. Esta no es una buena solución, pero hasta ahora no he podido encontrar una mejor idea.
¿Alguna idea?
Nota: Yo sé de this question, que es ligeramente diferente de la mía, ya que no estoy mirando el cambio de las "KnownColors".
@Jeff: dado que quiero actualizar los colores de los controles de formas de vida (botón, etiqueta, etc.), no puedo aplicar el atributo Editor a sus propiedades ForeColor/BackColor, a menos que herede de todos esos controles, que suena un poco exagerado para mí ... ¿o extrañé algo? – Brann
@Brann: Ya hereda al implementar su formulario. Tendría que aplicarlo a anulaciones dentro de su propia forma. –
Por supuesto, los controles dentro del formulario tendrían que configurarse en Color.Empty para heredar de su control principal, o también tendría que anularlos. No creo que haya una alternativa para obtener soporte de diseñador, me temo. –