【学習】WinFormsでTextBoxを使ってみよう(テキスト入力を受け付ける)

広告

これまでの学習では、

  • フォームにコントロールを配置する
  • ボタンを押して処理を実行する

という形でプログラムを動かしてきました。

しかし、ユーザーが入力した文字を処理に使いたい場面があります。

テキスト入力を受け付ける

という仕組みが必要です。

今回は TextBox(テキストボックス) を使って、ユーザーが入力した文字を取得し、Label に表示するアプリを作ります。

今日作るもの

TextBox に名前を入力して 表示 ボタンを押すと、

こんにちは、山田さん

のように、Label に「こんにちは、〇〇さん」と表示されます。


ソリューションとプロジェクトを作る

Visual Studio で新しいプロジェクトを作ります。

  • テンプレート: Windows Forms アプリ (.NET Framework)
  • ソリューション名: TextBoxSample
  • プロジェクト名: TextBoxDemo

作成すると Form1 が表示されます。


フォームに配置するコントロール

フォームに次の3つを配置します。

コントロール名前
TextBoxnameTextBox
ButtonshowButton
LabelresultLabel

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 と組み合わせれば、実用的なアプリの土台が作れます。

訪問数 1 回, 今日の訪問数 1回

広告