VB.NETにおける、テキストボックスの背景色・文字色を変更する方法です。
テキストボックスの背景色・文字色を変更
VB.NETにおいて、テキストボックスの色の変更はそんなに難しいことではありません。色のプロパティに、色をセットすればいいだけです。そのプロパティとは、「BackColorプロパティ」(背景色)と「ForeColorプロパティ」(文字色)です。
さてさて、例として実行ボタンを押下すると背景色と文字色を変更するフォームを作成しました。
仕様としては、実行ボタンを押下した時に、テキストボックスの入力文字数が5文字なら背景色を、10文字なら文字色を変更する簡単なフォームです。
背景色を変更する
背景色を変更する際には、コントロールのプロパティの一つである、「BackColorプロパティ」に値をセットします。
プロパティにセットする色は、「Color構造体」のプロパティか、「SystemColorsクラス」のプロパティの値をセットします。RGBによる指定でも構いませんが、「Color構造体」か「SystemColorsクラス」で良いと思います。先ほど見せたフォームのソースコードは以下の様に書いています。
Private Sub cmdCollarChange_Click(sender As Object, e As EventArgs) Handles cmdCollarChange.Click Try '入力文字数が5文字の場合 If txtTarget.Text.Length = 5 Then '背景色を変更する txtTarget.BackColor = Color.Red Else '背景色をシステムカラーに変更する txtTarget.BackColor = SystemColors.Window End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
先ほど出現させた簡単なフォームに5文字入力して、実行ボタンを押下してみます。
背景色が赤に変わりましたね。5文字以外であれば、元に戻ります。
デフォルトのテキストボックスの背景色に戻したい時は、「SystemColorsクラス」のWindowプロパティの値を、BackColorプロパティにセットしてあげます。
文字色を変更する
文字色を変更する際には、コントロールのプロパティの一つである、「ForeColorプロパティ」に値をセットします。プロパティにセットする色は、BackColorプロパティ同様、「Color構造体」のプロパティか、「SystemColorsクラス」のプロパティの値をセットします。
Private Sub cmdCollarChange_Click(sender As Object, e As EventArgs) Handles cmdCollarChange.Click Try '入力文字数が10文字の場合 If txtTarget.Text.Length = 10 Then '文字色を変更する txtTarget.ForeColor = Color.Red Else '文字色をシステムカラーに変更する txtTarget.ForeColor = SystemColors.WindowText End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
先ほど出現させた簡単なフォームに10文字入力して、実行ボタンを押下してみます。
文字色が赤に変わりましたね。5文字以外であれば、元に戻ります。
デフォルトのテキストボックスの文字色に戻したい時は、「SystemColorsクラス」のWindowTextプロパティの値を、ForeColorプロパティにセットしてあげます。
編集後記
背景色や文字色の変更は、フォームロード時や入力チェック時に頻繁に使用します。見かける機会も多いので、ほぼ必須知識と言えます。初心者の方でも割と取っ付きやすいと思いますので、すぐに理解できると思います。
参考サイト
.