我已经定义了一个新的System.Drawing.Color;
Public CustomBackColor As System.Drawing.Color = Color.FromArgb(200, 4, 146)
现在,我有一个GlobalBackColor As String
,我想成为新的CustomBackColor
值。
我的问题是,如果有任何方法可以将CustomBackColor System.Drawing.Color
写入GlobalBackColor String
。或者,要使CustomBackColor成为默认的系统颜色,以便我可以像这样定义GlobalBackColor:GlobalBackColor = "CustomBackColor"
无论如何,我希望能够像这样定义它:
pbR001C03.BackColor = Color.FromName(GlobalBackColor)
修改
pbR001C03
是一个PictureBox。
在此示例中示例;
Public CustomBackColor As System.Drawing.Color = Color.FromArgb(200, 4, 146)
Public GlobalBackColor As String
Public Sub Example()
`GlobalBackColor = Color.FromName(CustomBackColor)`
`...`
`pbR001C03.BackColor = Color.FromName(GlobalBackColor)`
`pbR001C04.BackColor = Color.FromName(GlobalBackColor)`
`...`
End Sub
GlobalBackColor = Color.FromName(CustomBackColor)
似乎不适合我。没有错误,只是一个黑色。
答案 0 :(得分:1)
您不能像这样使用Color.FromName
,但不需要使用它。
由于您的CustomBackColor
类型为System.Drawing.Color
,因此您可以将其直接用于System.Drawing.Color
类型的任何属性
pbR001C03.BackColor = GlobalBackColor
这是方法描述来自MSDN:
根据预定义颜色的指定名称创建颜色结构。
(源代码不粗体。)
真的没有办法将Color.FromName
用于自定义名称,因为它需要扩展System.Drawing.KnownColors
枚举,extending enums is impossible in .net
答案 1 :(得分:1)
在vb.net中无法更改/扩展System.Drawing枚举