既知の色の文字列名をコントロールに送信できるプロパティがあります。このプロパティは、「赤」や「青」などの適切な既知の色名のみを受け入れます
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_UseColour
の静的なBrushesクラスから既存のブラシを選択することです。
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
クラスのメソッドではありません