我正在构建一个WinForms应用程序,并在大多数控件上使用特定颜色。有时我从WinForms设计器中设置,有时直接在代码中设置。
我有一个静态类看起来像这样:
public static class MyColors
{
public static Color DarkGreen = Color.FromArgb(0, 70, 62);
...
public static Color Orange = Color.FromArgb(239, 132, 16);
}
我可以轻松地在我的代码中使用这些颜色,但是从设计师的角度来看,这是不可能的,因为会出现以下错误:
(我尝试存储这些颜色的Int32表示,但是仍然出现相同的错误。)MyColors.DarkGreen不是Int32的有效值。
目前我使用的解决方案是在设计师中使用rgb颜色代码,在我的代码中使用MyColors类的值,并使用Visual Studio的“替换全部”功能进行更改。虽然这不是一个好的解决方案,但我还没有找到更好的想法。
有什么好的建议吗?
注意:我知道关于这个问题,但它与我的略有不同,因为我不想改变“KnownColors”。