|
分類:[.NET 全般]
VS2008・C#で、Windowsアプリケーションを作成しています。
コントロールのフォントスタイル変更について質問です。
ラジオボタンが2つ(radioButtonA,radioButtonB)フォームにあって、
チェックが入っているほうのラジオボタンのテキストを「太字かつ下線」にして、
チェックなしは「標準テキスト」にしたいです。
CheckedChangedイベントに、以下のように記述しています。
/// <summary>
/// ラジオボタンA,BのCheckedが変更された場合に発生するイベント
/// </summary>
private void radioButtonAB_CheckedChanged(object sender, EventArgs e)
{
if (sender.Equals(radioButtonA))
{
// 色を変更して、下線
radioButtonA.ForeColor = Color.Red;
radioButtonB.ForeColor = SystemColors.ControlText;
radioButtonA.Font = new Font(radioButtonA.Font, FontStyle.Bold | FontStyle.Underline);
radioButtonB.Font = new Font(radioButtonB.Font, FontStyle.Regular);
}
else if (sender.Equals(radioButtonB))
{
radioButtonA.ForeColor = SystemColors.ControlText;
radioButtonB.ForeColor = Color.Red;
radioButtonA.Font = new Font(radioButtonA.Font, FontStyle.Regular);
radioButtonB.Font = new Font(radioButtonB.Font, FontStyle.Bold | FontStyle.Underline);
}
}
radioButtonB.Font = new Font(radioButtonB.Font, FontStyle.Regular)のように、
フォントスタイルの変更のためにはFontをnewする必要があると思いますが、
「Fontはnewしたら解放するものだ」と覚えているので、このままで良いのかなと、
ちょっと違和感が残ります...。
解放に関して知識が足りないので、これで問題ないのか分かりません...。
宜しくお願い致します。
|