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

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

概要

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

手順

アプリケーションの作成

Windowsフォームアプリケーションを新規作成します。
メインフォームから別のフォームを表示する:画像1

フォームの名称を Form1 から FormMain に変更します。
メインフォームから別のフォームを表示する:画像2

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

下図の[新しい項目の追加]ダイアログが表示されます。
メインフォームから別のフォームを表示する:画像4

[フォーム (Windowsフォーム)]をクリックして選択します。
メインフォームから別のフォームを表示する:画像5

ダイアログの下部の[名前]のテキストボックスを FormSub に変更します。変更後、[追加]ボタンをクリックします。
メインフォームから別のフォームを表示する:画像6

FormSubが追加されました。
メインフォームから別のフォームを表示する:画像7

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

FormMain フォームに戻り、フォームにボタンを配置します。
メインフォームから別のフォームを表示する:画像9

フォームデザイナでボタンを選択してプロパティウィンドウの[Click]イベントの値をダブルクリックして、コードを記述します。
メインフォームから別のフォームを表示する:画像10
メインフォームから別のフォームを表示する:画像11

コード

下記のコードを記述します。
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();
メインフォームから別のフォームを表示する:画像12

解説

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

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

実行結果

アプリケーションを実行します。下図のメインウィンドウが表示されます。[button1]ボタンをクリックします。
メインフォームから別のフォームを表示する:画像13

サブフォームが表示されました。
メインフォームから別のフォームを表示する:画像14

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