【C#】テキストボックスの使い方と各種設定【改行サイズ変更など】

C#,プログラミング言語

この記事では、C#のテキストボックスの使い方を解説します。

テキストボックスはWindowsフォーム画面に入力欄を設ける時に使用されます。

フォームアプリのテキストボックスの設定方法

上記のようにテキストボックスを実装しましょう。

本記事をご覧頂くと下記内容が理解できます。

この記事で学べるテキストボックスの設定
・テキストボックスの追加方法
・テキストボックスの改行と枠サイズ変更
・テキストボックスの入力欄の設定(入力制限(数字のみ)・最大文字数・編集不可)
・テキストボックスの表示設定(中央揃え(右揃え/左揃え)・折り返し)

上記C#テキストボックスの項目について設定方法をご紹介します。

筆者

疑問点や質問には何でも答えようと思っています。
この記事の不明点はこちらからお問い合わせ下さい


C#のおすすめ講座を受講して、最短1週間でC#をマスターしよう!
⇒C#が学べるおすすめプログラミングスクール&オンライン講座11選

C# テキストボックスの追加方法

この項ではC#のテキストボックスをフォーム画面に追加します。

フォーム画面にテキストボックスを追加する

まずはVisual Studioを開き、フォーム画面を表示。
画面左タブをクリックし「ツールボックス」を開きます。

画面左タブの「ツールボックス」を選択

「textBox」を選択し、フォーム画面上でドラッグ&ドロップします。

「textboxl」をフォームに移動させる

textBoxをフォーム画面に追加できます。

テキストボックスがフォーム画面に表示される

textBoxクラスの詳しい概要

C#テキストボックスの改行と枠サイズ変更

テキストボックスをフォーム画面に追加したら、各種設定を行いましょう。

テキストボックスで改行する方法

テキストボックスのデフォルト設定では入力文字を改行できません。
改行許可の設定を行う必要があります。

テキストボックスを選択した状態で、画面右部の「プロパティ」を選択。
プロパティ ⇒ MultiLine

上記のMultiLineを「True」にすることで文字を改行できます。

C#のコードでテキストボックスの改行を許可する

textBox.Multiline = true; //テキストボックスの改行が許可される
textBox.Multiline = false; //テキストボックスの改行できなくなる

Multilineプロパティの詳細はこちら

テキストボックスの枠サイズを変更する方法

枠サイズを変更するためにはまずMultiLineTrue」に設定してください。※前項参照
MultiLineTrue」にしないとテキストボックスのサイズを変更できません

テキストボックスの端にカーソルを合わせると矢印マークがでます。
それを外側に引っ張るとサイズを拡大することができます。

テキストボックスの枠にカーソルを合わせ、サイズを広げる

サイズを細かく設定したい時は
プロパティ ⇒ Size

から数値を変更してください。

Sizeプロパティの詳細はこちら

C#テキストボックスの入力欄の設定
(入力制限(数字のみ)・最大文字数・編集不可)

テキストボックスの入力欄の設定ついて解説します。

テキストボックスで入力制限を設ける方法

テキストボックスで入力制限を設ける方法をご紹介します。
今回は「数字のみ」入力できるようテキストボックスの設定を変更します。

入力制限を実装する方法
①ImeModeをfalseに変更する
②KeyPressメソッドを生成する
③KeyPressメソッドを実装する

上記手順で解説していきます。

①ImeModeをfalseに変更する

IMEモードの切り替えを無効にするために、
下記画像のように「ImeModeプロパティ」を変更します。
プロパティ ⇒ ImeMode

「Disable」に変更します。

この設定をする理由は「IMEモードがオンになっている場合、数字以外の文字が入力可能になってしまう」からです。

IMEモードはキーボードの入力制限のこと

ImeModeについて

②KeyPressメソッドを生成する

プロパティ画面のイナズママークをクリックして、KeyPressの項目を探します。
その右側のプルダウンをクリックして、KeyPressを選択します。

稲妻マークの「KeyPress」をダブルクリック

もしプルダウン上に項目が表示されていない場合は、KeyPressの項目の右側の空白をダブルクリックして下さい。

KeyPressをダブルクリックすると処理が生成される

上記のようにKeyPressの処理が自動で生成されます。

③KeyPressメソッドを実装する

KeyPressメソッドに「数値のみを許可する」処理を記載していきます。

//バックスペースとDeleteが押された時に有効
if (e.KeyChar == '\b')
{
    return;
}
//数値0~9以外が押された時はイベントをキャンセルする
if ((e.KeyChar < '0' || '9' < e.KeyChar))
{
    e.Handled = true;
}
上記C#のコードをそのままコピペしましょう
数値しか入力できなくなる

上記3ステップを踏めば「数値のみ」の入力制限を実装することができます。

メソッドについて詳しく知りたい方はこちらを参照
https://youmanavisions.com/programming/post-12531/

テキストボックスの最大文字数を設定する方法

ラベルを選択した状態で、画面右部の「プロパティ」を選択。
プロパティ ⇒ MaxLength

の数値を変更すると、テキストの入力文字数を設定できます。

11文字以上入力できない

C#コードから最大文字数を変更する方法

textBox.MaxLength = 10;//テキストボックスの最大文字数を設定する

MaxLengthの詳細はこちら

テキストボックスを編集不可にする方法

ラベルを選択した状態で、画面右部の「プロパティ」を選択。
プロパティ ⇒ ReadOnly

ReadOnlyをTrueにする
ReadOnlyをTrueにするとテキストボックスがグレースケールになり、入力できなくなる

上記写真のようにテキストエディタがグレースケールとなり文字を入力できなくなります
※逆にReadOnlyを「false」にすると入力可能にとなります。

C#コードから入力制限を行う方法

textBox.ReadOnly= true;//編集不可にする
textBox.ReadOnly= false;//編集可能にする

ReadOnlyの詳細はこちら

C#テキストボックスの表示設定(中央揃え(右揃え/左揃え)・折り返し)

C#テキストボックスの表示設定を行います。

テキストボックス中央揃え(右揃え/左揃え)にする方法

テキストボックス中央揃え(右揃え/左揃え)にする方法を紹介します。

プロパティ ⇒ TextAlign

開いたタブからLeft(左揃え)・Center(中央揃え)・Right(右揃え)を選択しましょう。

TextAlignの設定をタブから選択する

テキストボックスの入力欄が右揃えとなる。

C#コードからラベルを中央揃え(右揃え/左揃え)する場合

HorizontalAlignmentクラスから配置をコントロールするフィールドを呼び出します。

textBox.TextAlign = HorizontalAlignment.Left;//左揃え
textBox.TextAlign = HorizontalAlignment.Center;//中央揃え
textBox.TextAlign = HorizontalAlignment.Right;//右揃え

TextAlignの詳細はこちら

テキストボックスの入力文字を折り返す方法

ラベルを選択した状態で、画面右部の「プロパティ」を選択。
プロパティ ⇒ WordWrap

WordWrapをtrueにするとテキストを折り返す

WordWrapをtrueにするとテキストを折り返します。

上記のようにフォームアプリのテキストボックスの文字が折り返されます。

C#コードから入力文字を折り返す方法

textBox.WordWrap= true;//折り返しあり
textBox.WordWrap= false;//折り返しなし

WordWrapの詳細はこちら

C#テキストボックスの追加と基本設定のまとめ

C# テキストボックスについてのまとめです。

テキストボックスまとめ
・テキストボックスの追加は「ツールボックス」から。
・改行するために「MultiLine」をtrueに設定。
テキストボックスのサイズ変更は「MultiLine」をtrueにした後!!
・入力制限はKeyPressメソッドを実装する。
・非活性にするためには「ReadOnly」をTrueに。

以上でテキストボックスの説明は終了です。

お疲れさまでした。

筆者

下記にVisual StudioにおけるC#を用いたアプリケーション開発の完全ガイドを掲載しています。
お時間のある方はぜひチャレンジしてみてくださいね。

C#プログラミングを学んでみたい方向けの完全ガイドを下記に掲載します。
⇒Windowsフォームアプリ開発完全ガイド

Windowsアプリ開発完全ガイド

C#プログラミングを学んでいない方はまずは下記にチャレンジしよう!

プログラミングで稼ぐ方法も解説

C#,プログラミング言語

Posted by 9noike