記事内に広告が含まれています。

【VB.NET】テキストボックスの背景色・文字色を変更する

VB.NETにおける、テキストボックスの背景色・文字色を変更する方法です。

【スポンサーリンク】

テキストボックスの背景色・文字色を変更

VB.NETにおいて、テキストボックスの色の変更はそんなに難しいことではありません。色のプロパティに、色をセットすればいいだけです。そのプロパティとは、「BackColorプロパティ」(背景色)と「ForeColorプロパティ」(文字色)です。

さてさて、例として実行ボタンを押下すると背景色と文字色を変更するフォームを作成しました。

f:id:neko_britannia:20200615214137j:plain

仕様としては、実行ボタンを押下した時に、テキストボックスの入力文字数が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文字入力して、実行ボタンを押下してみます。

f:id:neko_britannia:20200615214951j:plain

f:id:neko_britannia:20200615215005j:plain

背景色が赤に変わりましたね。5文字以外であれば、元に戻ります。

f:id:neko_britannia:20200615215153j:plain

デフォルトのテキストボックスの背景色に戻したい時は、「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文字入力して、実行ボタンを押下してみます。

f:id:neko_britannia:20200615215518j:plain

文字色が赤に変わりましたね。5文字以外であれば、元に戻ります。

f:id:neko_britannia:20200615215546j:plain

f:id:neko_britannia:20200615215640j:plain

デフォルトのテキストボックスの文字色に戻したい時は、「SystemColorsクラス」のWindowTextプロパティの値を、ForeColorプロパティにセットしてあげます。

【スポンサーリンク】

編集後記

背景色や文字色の変更は、フォームロード時や入力チェック時に頻繁に使用します。見かける機会も多いので、ほぼ必須知識と言えます。初心者の方でも割と取っ付きやすいと思いますので、すぐに理解できると思います。

【スポンサーリンク】

参考サイト

TextBox クラス (System.Windows.Forms)
Windows テキスト ボックス コントロールを表します。
Color 構造体 (System.Drawing)
ARGB (アルファ、赤、緑、青) 色を表します。
Control.BackColor Property (System.Windows.Forms)
Gets or sets the background color for the control.
SystemColors クラス (System.Drawing)
SystemColors クラスの各プロパティは、Windows の表示要素の色を表す Color 構造体です。

.