我有一个属性,允许将已知颜色的字符串名称发送到我的控件。该属性仅接受正确的已知颜色名称,例如“红色”或“蓝色”
private KnownColor _UseColor = KnownColor.Red;
/// <summary>
/// Gets or sets the name of the colour
/// </summary>
public string ColorName
{
get
{
return this._UseColor.ToString();
}
set
{
if (Enum.IsDefined(typeof(KnownColor), value))
this._UseColour = (KnownColor)Enum.Parse(typeof(KnownColor), value);
}
}
我想要做的是使用这个枚举从.NET中的静态Brushes类中_UseColour
选择一个现有的画笔,就像这样
Brush sysBrush = Brushes.FromKnownColor(this._UseColor);
e.Graphics.FillRectangle(sysBrush, 0, 0, 10, 10);
而不是在像这样绘制控件时创建新画笔
using (SolidBrush brsh = new SolidBrush(Color.FromKnownColor(this._UseColor)))
e.Graphics.FillRectangle(brsh, 0, 0, 10, 10);
有谁知道这是否可能,或者我每次都必须创建一个新画笔?
Brushes.FromKnownColor
不是Brushes
类中的方法