如何在win app中加载表单面板其他表单
我用C#创建一个Windows窗体应用程序。
我有一个通用的表格和一个小组。
我使用代码在这个面板中显示subForm:
SubForm objForm= SubForm.InstanceForm(); this.IsMdiContainer = true; objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();
现在我想在这个面板的subForm上显示其他forms,但我不知道该怎么做。
我认为您的问题通过此代码解决:
SubForm objForm= SubForm.InstanceForm(); objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();
据我了解,你非常接近。 要将另一个表单添加到subform
尝试使用相同的代码:
pnlSubSystem.Controls.Add(objForm);
use(其中objForm2
是新的subForm
)
SubForm objForm2 = new SubForm(); objForm.Controls.Add(objForm2);
因为你已经得到了通过删除this.IsMdiContainer = true;
的答案this.IsMdiContainer = true;
你的代码运行得很好。 因为IsMdiContainer属性将窗体的显示和行为更改为MDI父窗体。 当此属性设置为true
,表单将显示一个浸没的客户区域。 分配给父表单的所有MDI子表单都显示在其客户区域中。
SubForm objForm= SubForm.InstanceForm(); objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();
objForm表单,它将成为子表单的模板。 每次要为应用程序创建新的子窗口时,都可以创建此模板表单的新实例,并将第一个表单作为其父表单。
//Create a new instance of the MDI child template form SubForm objForm = new SubForm(); //Set parent form for the child window objForm.MdiParent=this; // Last ObjForm or something //Display the child window objForm.Show();
其他方式:
objForm.TopLevel = false; objForm.Parent = pnlSubSystem; objForm.Show();
这是我在Stackoverflow上的第一个答案。