在父窗体的构造函数中SHOW你的子窗体

解决方案 »

  1.   

    多重文件介面 (MDI) 是眾多不同的 Windows Form 配置選項中的一員。若要追蹤應用程式所開啟的各種 MDI 子視窗,最簡單的方法就是使用視窗清單。追蹤所有開啟的 MDI 子表單和焦點 (Focus) 確認的功能,皆是 Visual Studio .NET Framework 的一部份,可以透過設定功能表項目的 MDIList 屬性達成。若要建立 MDI表單的視窗清單 在 [屬性] 視窗中,將 MDI 表單的 IsMDICOntainer 屬性設定為 True。 
    在 [方案總管] 中以滑鼠右鍵按一下專案,按一下 [加入],然後再選取 [加入新項目]。在 Visual Basic 或 Visual C# 中,選取 [Windows Form]。在 Visual C++ 中,選取 [Windows Form 應用程式 (.NET)]。將這個表單命名為 Form2。 
    從 [工具箱] 將 MainMenu 元件加入您的 MDI 父表單。如需將控制項加入表單的詳細資訊,請參閱將控制項加入 Windows Form。 
    按一下 MDI 父表單以提供它焦點。在 [屬性] 視窗中,將 Menu 屬性設定成 MainMenu1 (在 Visual Basic 中) 或設定成 mainMenu1 (在 C# 或 C++ 中)。 
    使用功能表設計工具,將下列的最上層功能表項目加入 MainMenu 元件。功能表項目 文字 
    MenuItem1 &File 
    MenuItem2 &Window 如需將功能表項目加入 MainMenu 元件的詳細資訊,請參閱將功能表和功能表項目加入 Windows Form。 在功能表設計工具中,將子功能表項目 (MenuItem3) 加入 MenuItem1。將其 Text 屬性設定為 &New。 
    如需將子功能表項目加入功能表項目的詳細資訊,請參閱將功能表和功能表項目加入 Windows Form。 在 [屬性] 視窗中,自下拉式清單 (Drop-Down List) 選取 MenuItem2。將 MDIList 屬性設定為 True。 
    為 MenuItem3 的 Click 事件建立事件處理常式。如需建立事件的詳細資訊,請參閱在 Windows Form 設計工具建立事件處理常式。 
    在事件處理常式中,插入類似以下的程式碼以建立和顯示 Form2 新的執行個體 (Instance),如同 Form1 的 MDI 子系: 
    'Visual Basic
    Protected Sub New_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
       'Create a new instance of Form2
       Dim NewMDIChild As New Form2()
       'Set the parent of the MDI child form.
       NewMDIChild.MDIParent = Me
       'Display the new form.
       NewMDIChild.Show()
    End Sub//C#
    protected void New_Click(object sender, System.EventArgs e)
    {
       //Create a new instance of Form2.
       Form2 NewMDIChild = new Form2();
       //Set the parent of the new MDI child form.
       NewMDIChild.MDIParent = this;
       //Display the new MDI child form.
       NewMDIChild.Show();
    }
    注意   請確定有可啟用事件處理常式的必要程式碼。若是如此,可能類似下列情況:
    this.menuItem3.Click += new System.EventHandler(this.New_Click);
    // C++
    private:
       System::Void menuItem3_Click(System::Object *  sender,
          System::EventArgs *  e)
       {
          //Create a new instance of Form2.
          Form2 *NewMDIChild = new Form2();
          //Set the parent of the new MDI child form.
          NewMDIChild->MdiParent = this;
          //Display the new MDI child form.
          NewMDIChild->Show();
       }
    在 C++ 中,將下列 #include 指示詞加入 Form1.h 上方: // C++
    #include "Form2.h"
    請按 F5 以執行應用程式。在 [檔案] 功能表中,選取 [新增] 以建立新的 MDI 子表單。注意,[視窗] 功能表會一直顯示應用程式中開啟的 MDI 子表單清單,具有焦點的 MDI 子系旁邊則會有個核取記號。
      

  2.   

    你可以在构造函数里生成子窗体的实例,设置父子关系,然后showdialog就可以了
      

  3.   

    能讲具体一点吗,我刚学的。一个DateReader 我就搞了一周才搞清楚
      

  4.   

    我也是初学,能理解public MDIParent()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent(); //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    // MDIChild childForm = new MDIChild();

    childForm.ShowDialog();}////////////////注意,不能添加 hildForm.MdiParent = this;妄图设置主从关系,因为此时你的父窗口还没有构造完成//////////////////////////
      

  5.   

    不能添加 childForm.MdiParent= this;
      

  6.   

    #include childform.cs 
    加在哪里啊?