社畜ゲートウェイ

京成・京急を中心に取り上げる阪急ファンのブログです。日本一遅い速報を届けます。

MENU

【スポンサーリンク】

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

【スポンサーリンク】

f:id:neko_britannia:20200615213413j:plain

テキストボックスの背景色・文字色を変更する方法です。

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

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 クラス

docs.microsoft.com

Color 構造体

docs.microsoft.com

Control.BackColor プロパティ

docs.microsoft.com

SystemColors クラス

docs.microsoft.com