メインフォームから別のフォームを表示する
フォームを複数作成しメインフォームから別のフォームを表示するコードを紹介します。
概要
別のフォームを表示するには、表示したい別のフォームのインスタンスを作成し、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]ボタンをクリックします。
サブフォームが表示されました。
メインフォームから別のフォームを表示できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2010-06-19
改訂日: 2024-09-03