C# で1つだけ表示する後ろに隠れないモーダルレスフォームがうまく閉じません
- 題名: C# で1つだけ表示する後ろに隠れないモーダルレスフォームがうまく閉じません
- 著者: finedb
- 日時: 2013/05/06 15:55:46
- ID: 31506
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: C# で1つだけ表示する後ろに隠れないモーダルレスフォームがうまく閉じません
- 著者: Azulean
- 日時: 2013/05/06 18:52:19
- ID: 31507
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: C# で1つだけ表示する後ろに隠れないモーダルレスフォームがうまく閉じません
- 著者: finedb
- 日時: 2013/05/06 21:18:50
- ID: 31508
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
2013/05/06(Mon) 15:59:07 編集(投稿者)
2013/05/06(Mon) 15:58:15 編集(投稿者)
2013/05/06(Mon) 15:58:01 編集(投稿者)
お世話になります。
メインフォームからモーダレスのサブフォームを作ります。
サブフォームは、シングルトーンを使ったもので1つだけ表示します。
そして、サブフォームはメインフォームの後ろに隠れません。
エクセルの検索画面みたいなものです。
ここまでは、OKなのですがサブフォームを開いているときにメイン画面を閉じると
サブ・メイン一緒に閉じるようにしたいのですが、サブフォームだけ閉じます。
メインフォームの「閉じる」を一回押すだけで、サブ・メインが同時に閉じたいのですがどうすればよろしいですか。
よろしくお願いします。
[メインフォーム]
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication15 {
public partial class FormMain : Form {
public FormMain() {
InitializeComponent();
}
private void b_サブフォームをモダルレスで表示_Click(object sender, EventArgs e) {
FormChild f = FormChild.GetInstance();
f.Visible = false;
f.Show(this);
}
}
}
[サブフォーム]
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication15 {
public partial class FormChild : Form {
private static FormChild _instance;
public int _seasonclose;
public static FormChild GetInstance() {
if (_instance == null) {
_instance = new FormChild();
}
return _instance;
}
public FormChild() {
InitializeComponent();
}
private void FormChild_FormClosing(object sender, FormClosingEventArgs e) {
e.Cancel = true;
this.Hide();
if (this.Owner != null) {
//フォームの所有を解除する
this.Owner.RemoveOwnedForm(this);
}
}
}
}