当前父窗体下打开了很多子窗体,有什么办法获取所有子窗体并将其关闭?

解决方案 »

  1.   


     for (int i = 0; i < this.MdiChildren.Length; i++)
                {
                        this.MdiChildren[i].Activate();
                        break;
                }这个是全部激活
      

  2.   

    循环调用FindWindowEx可以获取所有子窗口的句柄,将其保存在一个集合中。
    HWND FindWindowEx(          HWND hwndParent,
        HWND hwndChildAfter,
        LPCTSTR lpszClass,
        LPCTSTR lpszWindow
    );然后枚举子窗口句柄集合,逐一调用DestroyWindow销毁每一个子窗口。
    BOOL DestroyWindow( 
      HWND hWnd 
    ); 
      

  3.   

    问题解决,贴出来给大家分享 int y=this.MdiChildren.Length;
                Form[] mm = this.MdiChildren;
                for (int i = 0; i < y; i++)
                {
                    mm[i].Close();
                }