エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

【C#】フォームアプリケーションにテキストボックスに入力された値を取得するやり方を解説します

こんにちは。たいら(@tairaengineer2)です。
この記事では、C#フォームアプリケーションテキストボックスから入力された値を取得するやり方について解説します。

スポンサーリンク

 

前提条件

この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。

www.tairax.com

解説で使うプログラムの概要

フォームアプリケーションに

  • テキストボックス:1個
  • ボタン:1個

を作ります。
ボタンを押すと、テキストボックスの値を取得してメッセージを出力します。

Windows フォームアプリケーションの作り方は、こちらの記事をご参考ください。

www.tairax.com

テキストボックスとボタンを作成するやり方

Windows フォームアプリケーションを開いた直後は、↓の画面のようになっています 。

f:id:Tairax:20190423004548p:plain

テキストボックスとボタンを作成するために使うプログラムは

f:id:Tairax:20190507080125p:plain

この【Form1.cs】のみです。

テキストボックスとボタンを作成するには

f:id:Tairax:20190423005204p:plain

  1. 表示
  2. ツールボックス

の順でクリックします。

f:id:Tairax:20190423005615p:plain

Visual Studioの左に【ツールボックス】というものが表示されます。
クリックするのがめんどくさい人は、【Ctrl】+【Alt】+【Xキー】を同時に押すと、同じようにツールボックスが表示されます。

ツールボックスでは、

  • テキストボックス
  • チェックボックス
  • ボタン
  • ラベル

などをフォームアプリケーションにドラッグ&ドロップすると、ドロップした位置に配置することができます。

実際にテキストボックスを配置してみましょう。
ツールボックスから【TextBox】(テキストボックス)を選択します。
【TextBox】コモンコントロールの中にあります。

f:id:Tairax:20190423011336p:plain

【TextBox】を選択した状態で

f:id:Tairax:20190423011925p:plain

フォームアプリケーションドラッグ&ドロップします。

f:id:Tairax:20190424075126p:plain

フォームアプリケーションにテキストボックスが作成されました!
右下にはテキストボックスのプロパティが表示されています。
このプロパティを見てみると

f:id:Tairax:20190507222537p:plain

このテキストボックスの名前が【textBox1】だと分かります。
名前自動でつけられます。
なので、変更することもできます。
この記事では、変更しないで進めていきます。

次はボタンを作成します。
ボタンもテキストボックスと同じく

f:id:Tairax:20190424081443p:plain

コモンボックスの中に【Button】があります。

【Button】を選択した状態で

f:id:Tairax:20190424082113p:plain

フォームアプリケーションドラッグ&ドロップします。

f:id:Tairax:20190424082831p:plain

フォームアプリケーションにボタンが作成されました!
右下にはボタンのプロパティが表示されています。
このプロパティを見てみると

f:id:Tairax:20190507222944p:plain

このボタンの名前が【button1】だと分かります。
名前はテキストボックスと同じく自動でつけられます。

保存するときは

f:id:Tairax:20190424083348p:plain

赤枠のフロッピーディスクを押すと保存できます。

これでテキストボックスとボタンの作成と保存ができました。
次はボタンにイベントを追加していきます。

ボタンにイベントを追加する

前章に沿ってテキストボックスとボタンを作成した状態とします。

f:id:Tairax:20190424084047p:plain

まず、ボタンのイベントの状態を確認します。
ボタンの上で右クリックして

f:id:Tairax:20190424084639p:plain

【コードの表示】を選択します。

f:id:Tairax:20190424084905p:plain

アプリケーションフォーム【Form1.cs】のイベントプログラムが表示されます。
デフォルトのプログラムは下記の通りです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

ボタンのイベントが何にもないことが確認できました。
では、ボタンにイベントを追加します。

f:id:Tairax:20190507075453p:plain

ボタンの上で、ダブルクリックをします。

f:id:Tairax:20190507082308p:plain

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

すると、【Form1.cs】のイベントプログラムが表示されます。
赤文字のところが追加されたボタンのイベントです。
ボタン(button1)を押すと、このメソッドが実行されます。

コードが表示されない場合は先ほどと同じように、ボタンの上で右クリックして【コードの表示】を選択します。

今回は、button1_Clickメソッドの中に処理を追加していきます。
【Form1.cs】は以下のように書きます。

using System;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(textBox1.Text);
        }
    }
}

上記プログラムは後ほど解説します。
これでイベント処理の準備が整いました。

実行結果

では、実行します。
実行した直後は

f:id:Tairax:20190507221718p:plain

Visual Studioで実行する前と同じデザインでフォームアプリケーションが表示されます。
テキストボックスに文字を入力します。

f:id:Tairax:20190507222001p:plain

テキストボックスに【abcd】と入力しました。
【button1】をクリックします。

f:id:Tairax:20190507222215p:plain

入力した【abcd】がモーダルで表示されました!

 

スポンサーリンク

 

解説

  • MessageBoxについて
  • テキストボックスの値の取得

について解説します。

MessageBoxについて

MessageBox Class

名前空間:System.Windows.Forms
Assembly:System.Windows.Forms.dll

ユーザーに対してメッセージを表示するメッセージ ウィンドウ (ダイアログ ボックスとも呼ばれます) が表示されます。 これはモーダル ウィンドウであり、ユーザーが閉じるまで、このアプリケーションでの他の操作をブロックします。 MessageBox には、テキスト、ボタン、ユーザーに情報や指示を伝えるための記号を格納できます。

MessageBox Class (System.Windows.Forms) | Microsoft Docsから引用させて頂きました

MessageBoxとは、モーダルを表示するものです。
Showメソッドとは

MessageBox.Show Method

名前空間:System.Windows.Forms
Assembly:System.Windows.Forms.dll
メッセージ ボックスを表示します。

Show(String)	
指定したテキストを表示するメッセージ ボックスを表示します。

MessageBox.Show Method (System.Windows.Forms) | Microsoft Docsから引用させて頂きました

指定した文字列のモーダルを表示します。

実行したものでいうと

f:id:Tairax:20190507222215p:plain

の部分です。

テキストボックスの値の取得

テキストボックスの値を取得しているのはここです。

MessageBox.Show(textBox1.Text);

テキストボックスに入力された文字を取得したい場合は

【テキストボックスの名前】.Text

で取得できます。
取得したものの型は、string型です。

まとめ:テキストボックスを使ってみよう

以上がフォームアプリケーションにテキストボックスに入力された値を取得するやり方です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

 

ほかにもC#解説記事を書いてます。
よければご参考ください。

【C#】ファイルを削除する、Deleteメソッドを解説します

【C#】ファイルに上書きする、WriteAllTextメソッドを解説します

【C#】はてな2つの演算子、null合体演算子について解説します

 

今までブログで書いたC#の解説記事のまとめは、こちらをご参考ください。

【C#】ブログで書いた文法記事のまとめ