Windowsアプリを1から作成する方法 Part 4 フォームを初期化する

  • URLをコピーしました!

今回はWindowsフォームアプリケーション作成の第3回として、最初にフォームが表示されるタイミングで実行されるフォームロードイベントで初期化処理を実行する方法について解説します。

実際にプログラムの作成に入る前に、以下の記事で解説しているフォーム作成までの手順を行ってください。

目次

フォームにコントロールを追加する

Part3までで作成したフォームに新たにコントロールを追加していきます。
以下の画像のようにラベルとテキストボックスを追加してください。

コントロールを追加後、各テキストボックスに画像の赤字で記載されたコントロール名(プロパティの(Name))を設定してください。
コントロール名の変更方法は以下の記事で解説しています。

フォームにLoadイベントを追加する

コントロールが追加できたら次はイベント処理を記述するためのメソッドを追加していきます。
以下の画像のようなフォーム上の何もない場所をマウスでダブルクリックしてください。

ダブルクリックすると以下の画像のように「Form1.cs」のソースコードが表示されます。
ソースコードの一番下の部分に「Form1_Load」というメソッドが追加されました。この〇〇_Loadというメソッドが、フォーム起動後に一番最初に実行されるメソッドとなります。

このメソッドにフォームが表示されて最初に処理したい内容を記述していきます。

フォーム起動時の処理を実装する

フォーム起動時の初期化処理として、今回はテキストボックスにデフォルト値をセットする処理を作成しました。
Loadメソッド中でテキストボックスに文字列をセットします。

txtName.Text = "ごろう";
txtCountry.Text = "日本";
txtAge.Text = "25";
txtProfession.Text = "エンジニア";

これでテキストボックスの初期化が一番最初に実行されるようになりました。

実際に作成したソースコード

以下が今回作成した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 test_winform
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnDecide_Click(object sender, EventArgs e)
        {
            //変数宣言
            string name = string.Empty;
            string txtbox_message = string.Empty;
            //テキストボックスデータ取得
            name = txtName.Text;
            //ダイアログボックスを表示
            if (!string.IsNullOrWhiteSpace(name))
            {
                //表示する文字列を生成
                txtbox_message = "あなたの名前は" + name + "に決定しました。";
                //文字列が入力されている場合
                MessageBox.Show(txtbox_message, "入力完了", MessageBoxButtons.OK);
            }
            else
            {
                //null、空文字、空白の場合
                MessageBox.Show("名前が正しく入力されていません", "入力失敗", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            //フォーム初期化処理
            txtName.Text = "ごろう";
            txtCountry.Text = "日本";
            txtAge.Text = "25";
            txtProfession.Text = "エンジニア";
        }
    }
}

実行結果

先ほどのプログラムをビルド、実行すると以下のようにフォームが表示されました。
フォーム起動時に処理されるLoadメソッドで記述したテキストボックスの設定処理が正しく動作し、テキストボックスに値が入った状態で表示されたことが確認できました。

まとめ

各フォームのLoadメソッドを使用することで、フォームが表示されて最初に実行される処理を実装することができます。フォーム上のコントロールの初期化などを実行するのに活用することができます。

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次