[X]ボタンをクリックして、MDI子フォームの終了イベントを確認し、親フォームに終了したことを通知するにはどうすればよいですか。
1851 次
4 に答える
4
MDIでFormClosedイベントを聞くだけです。
var childForm = new ChildForm();
childForm.FormClosed += new FormClosedEventHandler(form_FormClosed);
childForm.Show();
于 2011-10-19T17:51:25.733 に答える
0
FormClosingイベントのフォームで、次のことができます。
TheMainForm form = (TheMainForm)this.MdiParent()
form.AlertMe( this );
于 2011-10-19T17:45:20.780 に答える
0
mainForm内から子フォームにクローズドイベントを添付します
Form mdiChild = new Form();
mdiChild.MdiParent = this;
mdiChild.Closed += (s, e) => { //... };
mdiChild.Show();
コードをチェックしませんでしたが、それほど難しいことではありません
于 2011-10-19T17:54:21.640 に答える
0
以下のコードは、親フォームが子フォームが閉じられているかどうかを認識する方法を示しています。また、新しい子フォームがその親フォームに追加されていることも認識できます。
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);
}
于 2011-10-19T18:55:50.843 に答える