我希望能够做类似的事情:
public static class CustomColors
{
Color CustomColor1 { get; set; } = Color.Black;
}
// In the designer:
form1.BackColor = CustomColors.CustomColor1;
这是在C#Windows窗体应用程序中。
但是,我注意到在Visual Studio中使用设计器时,BackColor和ForeColor字段将仅接受整数并且具有颜色选择器供您选择。如果我想使用CustomColors类并输入类似CustomColors.CustomColor1
或System.Drawing.Color.Black
的内容:
我收到以下错误:
CustomColors.CustomColor1对Int32无效。
但是,在设计器属性窗口中选择Web
然后选择Black
会在设计器中产生以下代码行:
this.BackColor = System.Drawing.Color.Black;
我可以这样在设计器代码中输入静态颜色:
this.BackColor = CustomColors.CustomColor1;
,但是设计器无法工作(与上述错误相同)。
定义静态整数也不起作用-我试过了:
public static class CustomColors
{
Int32 CustomColor1 { get; set; } = Color.Black.ToArgb();
}
这不仅仅是Windows Forms控件-我尝试使用具有可浏览的Color属性的用户控件,而且我也仅限于设计器中的颜色选择器。
有人可以解释吗?设计师在这里做什么?它如何在整数和颜色之间转换,为什么我不能使用自己的颜色?