テキストボックスに入力できる文字を大文字または小文字に制限する [C#] TextBox

Windowsフォームアプリケーションで使用するテキストボックスに入力できる文字を制限し、大文字のみ、または小文字のみにする方法を紹介します。

本記事では、Visual Studioで作成したC#のWindowsフォームアプリケーションのプロジェクトに記述するコードを記載します。
Windowsフォームアプリケーションのプロジェクトを作成する方法については、以下の記事を参照してください。

Windowsフォームアプリケーションのプロジェクト(ソリューション)を作成する。[C#]
Visual StudioでC#のWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する方法を記載します。 ...

入力できる文字の種類の設定

テキストボックスに入力できる文字を大文字のみ、または小文字のみに制限するには、System.Windows.Forms名前空間にあるTextBoxクラスのCharacterCasingプロパティを使用します。

CharacterCasingプロパティには、System.Windows.Forms名前空間のCharacterCasing列挙型のいずれかのフィールドを設定します。

CharacterCasing列挙型のフィールド一覧

フィールド 説明
Normal 0 入力制限は行わず、入力された文字は大文字と小文字はそのまま表示されます。
Upper 1 入力できる文字を大文字のみに制限し、入力された文字を大文字に変換して表示されます。
Lower 2 入力できる文字を小文字のみに制限し、入力された文字を小文字に変換して表示されます。

CharacterCasingプロパティの値は、フォームデザイナーのプロパティグリッド、またはコードで設定することができます。

デザイナーのプロパティグリッドで設定する

フォームデザイナーを開きます。
フォームデザイナーを開いたら、プロパティウィンドウを表示します。
プロパティウィンドウが表示されていない場合は、メニューバーの「表示」メニューにある「プロパティ ウィンドウ」をクリックするかF4キーを押してください。
プロパティウィンドウが表示されたら、フォームに配置したテキストボックスをクリックして選択します。

フォームデザイナーのテキストボックスのプロパティグリッド
上記の画像のプロパティグリッドは項目別ではなくアルファベット順で表示しています。

デザイナーのプロパティグリッドにあるCharacterCasingプロパティを選択します。
CharacterCasingプロパティのドロップダウンリストボックスのリストアイテムから、設定するCharacterCasing列挙型のフィールドを選択します。

デザイナーのプロパティグリッドでTextBoxクラスのCharacterCasingプロパティを設定

コードで設定する

フォームに「textBox1」という名前のテキストボックスを配置し、コードエディタを表示して以下のコードを入力します。

上記のコードはフォームのコンストラクタ内や、フォームのロードイベント(Form.Load)メソッド内、またはフォームのオンロード(OnLoad)メソッドをオーバーライドしたメソッド内に記述することで、フォームの起動時に設定することができます。

サンプルプログラム

テキストボックスに入力できる文字を制限するサンプルプログラムを作成します。

ユーザーインターフェース

フォームには、文字列を入力するテキストボックス(textBox1)と、「大文字のみ (Upper)」「小文字のみ (Lower)」、「大文字と小文字の両方 (Normal)」を選択するラジオボタン(radioButton1~3)を配置します。

テキストボックスのCharacterCasingプロパティ設定用のサンプルフォームのデザイン

ソースコード

ラジオボタンの選択変更時に文字の種類を設定する処理を記述します。

プログラムの実行

プロジェクトをビルドして実行(デバッグ)してフォームを表示します。

テキストボックスのCharacterCasingプロパティ設定用のサンプルフォームを起動

テキストボックスにアルファベット文字を入力します。

テキストボックスのCharacterCasingプロパティ設定用のサンプルフォームで文字列を入力

ラジオボタンの選択を切り替えて、文字の種類を確認します。

大文字のみ (Upper)

テキストボックスのCharacterCasingプロパティ設定用のサンプルフォームで文字の種類を大文字のみ(Upper)に設定

小文字のみ (Lower)

テキストボックスのCharacterCasingプロパティ設定用のサンプルフォームで文字の種類を小文字のみ(Lower)に設定