前略
・さっそく回答ありがとうございます。
・以下のプログラムのように、Form1の参照をForm2にコンストラクタ生成時渡すことによる方法に変更した結果 Form1を閉じるときにApplication.Exit()をFormClosingイベントに追加しなくともプログラムが終了できるようになりました。
アドバイス大変参考になりました。ありがとうございます。
//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.Windows.Forms;
namespace formClose
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(this); //Form2にForm1の参照を渡す
form2.Show(); //フォーム2を表示
this.Hide(); //フォーム1を非表示
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// Application.Exit(); //アプリケーション終了
}
}
}
//Form2.cs ---------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace formClose
{
public partial class Form2 : Form
{
Form1 f1;
public Form2(Form1 form1) //Form1の参照を受け取る
{
InitializeComponent();
f1 = form1; //form1を代入
}
private void button1_Click(object sender, EventArgs e)
{
f1.Show(); //フォーム1を表示する
this.Hide(); //フォーム2を非表示にする
}
}
}
以上
お礼
前略 ・さっそく回答ありがとうございます。 ・以下のプログラムのように、Form1の参照をForm2にコンストラクタ生成時渡すことによる方法に変更した結果 Form1を閉じるときにApplication.Exit()をFormClosingイベントに追加しなくともプログラムが終了できるようになりました。 アドバイス大変参考になりました。ありがとうございます。 //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.Windows.Forms; namespace formClose { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(this); //Form2にForm1の参照を渡す form2.Show(); //フォーム2を表示 this.Hide(); //フォーム1を非表示 } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // Application.Exit(); //アプリケーション終了 } } } //Form2.cs --------------------------------------- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace formClose { public partial class Form2 : Form { Form1 f1; public Form2(Form1 form1) //Form1の参照を受け取る { InitializeComponent(); f1 = form1; //form1を代入 } private void button1_Click(object sender, EventArgs e) { f1.Show(); //フォーム1を表示する this.Hide(); //フォーム2を非表示にする } } } 以上