C# 关于MDI 在父窗体的构造函数中SHOW你的子窗体 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多重文件介面 (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 BasicProtected 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 子系旁邊則會有個核取記號。 你可以在构造函数里生成子窗体的实例,设置父子关系,然后showdialog就可以了 能讲具体一点吗,我刚学的。一个DateReader 我就搞了一周才搞清楚 我也是初学,能理解public MDIParent(){ // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // MDIChild childForm = new MDIChild(); childForm.ShowDialog();}////////////////注意,不能添加 hildForm.MdiParent = this;妄图设置主从关系,因为此时你的父窗口还没有构造完成////////////////////////// 不能添加 childForm.MdiParent= this; #include childform.cs 加在哪里啊? list foreach 比不上 sql的查询速度 数据库取值填充到Textbox中 多费率定制实现思路(顶有分啊!) this.Button1.Attributes.Add("onclick" 时,为什么&符号会变成&呢?怎么办? 谁有<信息系统开发实例精粹(C#版)>这版书的源代码 各位高手帮帮忙! xml忽略节点属性大小写 急求!winfrom上传附件 把DataGrid绑定到数万条记录的表会很慢吗? 关于拉姆达表达式 的一个问题 达人解答,保证有挑战性,而且好拿分!!! 文件写操作问题
在 [方案總管] 中以滑鼠右鍵按一下專案,按一下 [加入],然後再選取 [加入新項目]。在 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 子系旁邊則會有個核取記號。
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
// MDIChild childForm = new MDIChild();
childForm.ShowDialog();}////////////////注意,不能添加 hildForm.MdiParent = this;妄图设置主从关系,因为此时你的父窗口还没有构造完成//////////////////////////
加在哪里啊?