メインフォームから別のフォームを表示する - C#

フォームを複数作成しメインフォームから別のフォームを表示するコードを紹介します。

概要

別のフォームを表示するには、表示したい別のフォームのインスタンスを作成し、Showメソッドを呼び出します。

手順

アプリケーションの作成

Windowsフォームアプリケーションを新規作成します。


フォームの名称を Form1 から FormMain に変更します。


右側の[ソリューションエクスプローラ]ウィンドウのプロジェクトノードを選択し右クリックします。 ポップアップメニューが表示されますので、[追加]メニューの[新しい項目]メニューをクリックします。


下図の[新しい項目の追加]ダイアログが表示されます。


[フォーム (Windowsフォーム)]をクリックして選択します。


ダイアログの下部の[名前]のテキストボックスを FormSub に変更します。変更後、[追加]ボタンをクリックします。


FormSubが追加されました。


サブフォームであることをわかりやすくするため、Labelコントロールを配置します。Textプロパティに[これはサブフォームです]の文字列を設定します。


FormMain フォームに戻り、フォームにボタンを配置します。


フォームデザイナでボタンを選択してプロパティウィンドウの[Click]イベントの値をダブルクリックして、コードを記述します。


コード

下記のコードを記述します。
namespace MultiForm
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
      FormSub formsub = new FormSub();
      formsub.Show();
    }
  }
}

記述する部分は button1_Click メソッド内の下記コードになります。
  FormSub formsub = new FormSub();
  formsub.Show();

解説

ボタンのクリックにより、FormSubのインスタンスの作成と表示を実行します。
下記のコードにより、FormSubのインスタンスが作成されます。インスタンスは formsub 変数に代入されます。
  FormSub formsub = new FormSub();

作成されたformsub オブジェクトのShowメソッドを呼び出しフォームを表示します。
  formsub.Show();

実行結果

アプリケーションを実行します。下図のメインウィンドウが表示されます。[button1]ボタンをクリックします。


サブフォームが表示されました。


メインフォームから別のフォームを表示できました。
このページのキーワード
  • C# 別フォーム 表示
  • C# フォーム 表示
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2010-06-19
改訂日: 2024-09-03
iPentec all rights reserverd.