MDI Childform关闭事件 [英] MDI Childform close event

查看:96
本文介绍了MDI Childform关闭事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

哪个事件可用于识别任何已打开的子窗体是否已关闭?

i需要从MDi父窗体中检测到...

which event can be used to identify any opened childform is closed?
i need this to be detected from MDi parent form...

推荐答案

这是一个想法:谁需要MDI?为什么要折磨自己并吓跑你的用户?

帮自己一个大忙:根本不要使用MDI。没有它,您可以更轻松地实现设计,质量更好。 MDI甚至被微软高度劝阻,事实上,微软将其从WPF中删除并且很难支持它。更重要的是,如果您使用MDI,您将吓跑所有用户。只是不要。请参阅:

http://en.wikipedia.org/wiki/Multiple_document_interface#Disadvantages [ ^ ],

如何在WPF中创建MDI父窗口? [ ^ ]。



我可以解释做什么。请看我过去的答案:

如何在WPF中创建MDI父窗口? [解决方案2 ],

关于在WPF中使用MDI窗口的问题 [ ^ ],

麦当劳给出错误 [ ^ ],

如何设置子窗体最大化,最后一个子窗体最小化 [ ^ ]。



-SA
Here is the idea: who needs MDI, ever? Why torturing yourself and scaring off your users?
Do yourself a great favor: do not use MDI at all. You can do much easier to implement design without it, with much better quality. MDI is highly discouraged even by Microsoft, in fact, Microsoft dropped it out of WPF and will hardly support it. More importantly, you will scare off all your users if you use MDI. Just don''t. Please see:
http://en.wikipedia.org/wiki/Multiple_document_interface#Disadvantages[^],
How to Create MDI Parent Window in WPF?[^].

I can explain what to do instead. Please see my past answers:
How to Create MDI Parent Window in WPF? [Solution 2],
Question on using MDI windows in WPF[^],
MDIContainer giving error[^],
How to set child forms maximized, last childform minimized[^].

—SA


尝试此代码..

try this code..
private void button1_Click(object sender, EventArgs e)
        {
            Form1 frm1 = new Form1();
            frm1.FormClosed += new FormClosedEventHandler(MdiChildClosing);
            frm1.MdiParent = this;
            frm1.Show();
        }
        private void MdiChildClosing(object sender, FormClosedEventArgs e)
        {
            Form frmg = (Form)sender;
            MessageBox.Show(sender.GetType().Name.ToString());
            MessageBox.Show("Form closed");
        }


此方法将帮助您使用MDI Doc。在您的主表单中实现此方法(MDI Parent)



This method will help you to work with MDI Doc. Implement this method in your main form (MDI Parent)

public void LaunchChildForm(Form ChildForm)
  {
      bool FormAlreadyExists = false;
      foreach (Form myForm in MdiChildren)
      {
          if (myForm.GetType() == ChildForm.GetType())
          {
              FormAlreadyExists = true;
              ChildForm = myForm;
              break;
          }
      }
      if (FormAlreadyExists == true)
      {
          ChildForm.BringToFront();
      }
      else
      {
          ChildForm.MdiParent = this;
          ChildForm.WindowState = FormWindowState.Normal;
          ChildForm.Show();

      }

  }


这篇关于MDI Childform关闭事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆