C#でラベルの背景色・文字色を変更する方法です。
ラベルの背景色・文字色を変更
画面を扱うにあたって、ボタンを押下した時にラベルの文字色を変更する事は多々あります。
例えば、
- ボタンをクリック
- テキストボックスの入力値をチェック
- テキストボックスの入力値によって、ラベルの色を変更
というような仕様はよくあることです。
なので、今回はラベル・テキストボックス・ボタンをフォーム上に用意して、ラベルの文字色と背景色を変更する簡単な画面を作りました。
オブジェクトは以下。
- おはようございます:label1
- おつかれさまでした:label2
- 上のテキストボックス:txtSetColor1
- 下のテキストボックス:txtSetColor2
- 実行ボタン:cmdLabelColorChange
実際に真似して画面を作ってみて下さい。
ラベルの文字色を変更する
ボタンを押すと文字色を変更するサンプルコードを説明します。
まず、ラベルの文字色を変更する仕様は以下の様にします。
- 上のテキストボックスに「赤」と入力
- 実行ボタンをクリック
- ラベルの文字色を赤色に変更する
また、上のテキストボックス「赤」以外が入った場合は、文字色をデフォルトに戻すこととします。
そのコードが以下です。ボタンをクリックするイベントの直下に書きます。
private void cmdLabelColorChange_Click(object sender, EventArgs e) { try { if (txtSetColor1.Text == "赤") //「おはようございます」の文字を赤色に変更 label1.ForeColor = Color.Red; else //「おはようございます」の文字を元に戻す label1.ForeColor = SystemColors.ControlText; } catch(Exception ex) { MessageBox.Show(ex.Message ,"エラー" , MessageBoxButtons.OK , MessageBoxIcon.Error); } }
上のテキストボックスに「赤」が入力されていて、実行ボタンがクリックされた場合、label1の「ForeColor」にColor構造体の「Red」を代入します。
実際に実行してみます。
「おはようございます」というラベルの文字色が赤に変わりました。
同じ様に、上のテキストボックスに「赤」以外が入力された場合、label1の「ForeColor 」にSystemColorsクラスのプロパティ「ControlText」を代入します。これも実行すると…
「おはようございます」のラベルの文字色が元に戻りました。
ラベルの背景色を変更する
ボタンを押すとラベルの背景色を変更するサンプルコードを説明します。
まず、ラベルの背景色を変更する仕様は以下の様にします。
- 下のテキストボックスに「青」と入力
- 実行ボタンをクリック
- ラベルの背景色を青色に変更する
また、下のテキストボックス「青」以外が入った場合は、背景色をデフォルトに戻すこととします。
そのコードが以下です。ボタンをクリックするイベントの直下に書きます。
private void cmdLabelColorChange_Click(object sender, EventArgs e) { try { if (txtSetColor2.Text == "青") //「おつかれさまでした」の背景色を青色に変更 label2.BackColor = Color.Blue; else //「おつかれさまでした」の背景色を元に戻す label2.BackColor = SystemColors.Control; } catch (Exception ex) { MessageBox.Show(ex.Message , "エラー" , MessageBoxButtons.OK , MessageBoxIcon.Error); } }
下のテキストボックスに「青」が入力されていて、実行ボタンがクリックされた場合、label2の「BackColor」にColor構造体の「Blue」を代入します。
「おつかれさまでした」というラベルの背景色が青に変わりました。見辛いですが、サンプルコードなのでヨシとします。
同じ様に、上のテキストボックスに「青」以外が入力された場合、label2の「BackColor」にSystemColorsクラスのプロパティ「ControlText」を代入します。これも実行すると…
「おつかれさまでした」のラベルの背景色が元に戻りました。あまり使わないと思いますが、覚えておいて損は無いです。
参考サイト
Label Class (System.Windows.Forms) | Microsoft Docs
Control.BackColor Property (System.Windows.Forms) | Microsoft Docs
Control.ForeColor Property (System.Windows.Forms) | Microsoft Docs
関連記事
.