"X"ボタンをクリックしたときにMDI子フォームのクローズイベントをチェックし、親フォームに閉じたことを知らせる方法を教えてください。MDI子フォームC#
0
A
答えて
4
を行うことができ、フォームのFormClosingイベントであなたが単にMDIでFormClosedイベントに耳を傾けることができます。
var childForm = new ChildForm();
childForm.FormClosed += new FormClosedEventHandler(form_FormClosed);
childForm.Show();
0
あなたは
TheMainForm form = (TheMainForm)this.MdiParent()
form.AlertMe(this);
0
は、コードをチェックしませんでしたが、うまく
0
ハード、以下のコードはどのように親フォームが表示されていることをすべきではない
Form mdiChild = new Form();
mdiChild.MdiParent = this;
mdiChild.Closed += (s, e) => { //... };
mdiChild.Show();
MainFormを
内からchildformに閉じられたイベントをアタッチ子フォームが閉じられているかどうかを認識し、その親フォームに新しい子フォームが追加されていることも認識できます。private List<Form> ChildFormList = new List<Form>();
private void MyForm_MdiChildActivate(object sender, EventArgs e)
{
Form f = this.ActiveMdiChild;
if (f == null)
{
//the last child form was just closed
return;
}
if (!ChildFormList.Contains(f))
{
//a new child form was created
ChildFormList.Add(f);
f.FormClosed += new FormClosedEventHandler(ChildFormClosed); // here the parent form knows that that child form has been closed or not
}
else
{
//activated existing form
}
}
private void ChildFormClosed(object sender, FormClosedEventArgs e)
{
//a child form was closed
Form f = (Form)sender;
ChildFormList.Remove(f);
}
関連する問題
- 1. WindowsフォームのMDI子フォーム
- 2. Winforms MVP show mdi子フォーム
- 3. winform mdi catch子フォームフォーカスc#
- 4. C#MDI親フォームから子への値の受け渡し
- 5. はどのように閉じますMDI子フォームのC#
- 6. MDI内の別の子フォームから子フォームを開くには?
- 7. メインMDI親フォームでMenuListを使用してMDI子フォームを開く方法
- 8. ブランクの子フォームを持つmdiのメモリリーク
- 9. MDI子フォームの "WinForm"グローバル "キャッチ例外"
- 10. PropertyStoreとMDI子フォームについて
- 11. MDIフォームにドッキングする子ウィンドウ
- 12. VB.NET - ボーダーレスMDI子フォームの問題
- 13. 親フォームの変数をmdiの子フォームから設定する
- 14. MDI子フォームがWinFormsの親フォームに適合しない
- 15. 子フォームからMDI親フォームのラベルテキストにアクセスできません
- 16. C#別の子フォームが開いているときにMDI親の子フォームを無効にする方法
- 17. WPF MDIの子供
- 18. Mdi子ウィンドウのフレームカラー
- 19. C#MDI - のMDIChild私はMDI親(<strong>をForm1</strong>)とMDI子(<strong>フォーム2</strong>)を有する境界
- 20. MDIの子フォームでFormClosingイベントが呼び出されない
- 21. Delphi MDIは子フォームを作成します
- 22. Delphi MDI - オープン/クローズ/アクティブな子フォームの処理
- 23. MDI子フォーム呼び出し、生成なし
- 24. MDI子フォーム間でnドロップ操作をドラッグします
- 25. 重複したMDI子フォームを防止する
- 26. MDI親の子フォームの場所の問題
- 27. 2つのMDI子フォームが互いに干渉します
- 28. MDIにフォームをドッキングする
- 29. イメージコントロールをMDIフォームに配置
- 30. MDIフォームの希望の場所に子フォームを表示するには?
C#にはAlertMe()メソッドがありません。私はMDiParentメソッドを見つけることができず、プロパティのみしか見つかりません。 – NexAddo
自分で作成して公開する –