【ちょっとメモ】 C#でメインではないフォームからアプリを終了させる方法
2016/06/11
[ad#top-1]
メインフォームが
this.Close();
とやれば、アプリケーション全体が終了しますが、サブフォームだった場合は、そのフォームが閉じるだけでアプリ全体は終了しません。
メインファーム側で、
public void end(){
this.Close();
}
としておいて、サブフォーム側でこれをたたけば終了しますが、メインフォームをオブジェクトとして渡したりちょっと面倒です。(以下は良くない例)
■メインフォーム側(MainForm)
//SubFormのコンストラクタに自分を渡しておく
SubForm d = new SubForm(this);
■サブフォーム側(SubForm)
class SubForm{
Mainform parent;
SubForm(Mainform f){
this.parent = f;
}
}
こうやっておけば、SubFrom側で、
parent.end();
とやれば終了できます。ただ、ちょっと面倒ですね。
実は、もっと簡単な方法がありまして、サブフォームから、
Application.Exit();
とやれば、アプリが終わります。複雑な仕掛けも必要なくシンプルです。
[ad#ad-1]
スポンサーリンク