【学習】WinFormsでTextBoxを使ってみよう(テキスト入力を受け付ける)
これまでの学習では、
- フォームにコントロールを配置する
- ボタンを押して処理を実行する
という形でプログラムを動かしてきました。
しかし、ユーザーが入力した文字を処理に使いたい場面があります。
テキスト入力を受け付ける
という仕組みが必要です。
今回は TextBox(テキストボックス) を使って、ユーザーが入力した文字を取得し、Label に表示するアプリを作ります。
今日作るもの
TextBox に名前を入力して 表示 ボタンを押すと、
こんにちは、山田さん
のように、Label に「こんにちは、〇〇さん」と表示されます。
ソリューションとプロジェクトを作る
Visual Studio で新しいプロジェクトを作ります。
- テンプレート: Windows Forms アプリ (.NET Framework)
- ソリューション名: TextBoxSample
- プロジェクト名: TextBoxDemo
作成すると Form1 が表示されます。
フォームに配置するコントロール
フォームに次の3つを配置します。
| コントロール | 名前 |
|---|---|
| TextBox | nameTextBox |
| Button | showButton |
| Label | resultLabel |
showButton の Text を「表示」、resultLabel の Text を空にしておきます。
イベントを登録する
showButton をダブルクリックすると、Click イベントのハンドラが自動作成されます。
その中で nameTextBox.Text を取得し、resultLabel に表示するコードを書きます。
完成コード
using System;
using System.Windows.Forms;
namespace TextBoxDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void showButton_Click(object sender, EventArgs e)
{
string name = nameTextBox.Text;
if (string.IsNullOrWhiteSpace(name))
{
resultLabel.Text = "名前を入力してください";
return;
}
resultLabel.Text = "こんにちは、" + name + "さん";
}
}
}
プログラムの流れ
TextBox に名前を入力
↓
表示ボタンをクリック
↓
nameTextBox.Text で入力内容を取得
↓
空なら「名前を入力してください」と表示
↓
そうでなければ「こんにちは、〇〇さん」と表示
Text プロパティとは
TextBox の Text プロパティで、入力内容を取得・設定できます。
| 用途 | コード |
|---|---|
| 入力内容を取得 | string name = nameTextBox.Text; |
| 内容を設定する | nameTextBox.Text = "初期値"; |
| 内容を空にする | nameTextBox.Text = ""; |
空文字のチェック
何も入力されていない状態でボタンを押すと、「こんにちは、さん」のように不自然な表示になります。
string.IsNullOrWhiteSpace() で、空または空白だけの入力をチェックできます。
if (string.IsNullOrWhiteSpace(name))
{
resultLabel.Text = "名前を入力してください";
return;
}
重要ポイント
TextBox は、ユーザーが文字を入力するためのコントロールです。
- Text プロパティ で入力内容を取得・設定できる
- ボタンクリック時に
nameTextBox.Textで入力内容を取得する - string.IsNullOrWhiteSpace() で空入力をチェックすると安全
- 取得した文字列は、Label の表示や計算、ファイル保存などに使える
発展:Multiline で複数行入力
TextBox の Multiline を true にすると、複数行のテキストを入力できます。
- メモ帳風のアプリ
- ファイルの保存・読み込み(基本の保存と読み込み)
などに応用できます。
発展アイデア
TextBox を使うと、次のようなものも作れます。
- ファイル保存 … 入力内容をテキストファイルに保存する
- 検索 … 入力したキーワードで一覧を絞り込む
- 計算 … 数値を入力して、ボタンで計算結果を表示する(数値チェックが必要な場合は NumericUpDown も検討)
- ログイン画面 … PasswordChar を設定してパスワードを隠す
TextBox は ユーザー入力の基本 です。Button と組み合わせれば、実用的なアプリの土台が作れます。



ディスカッション
コメント一覧
まだ、コメントがありません