我正在使用C#2005来开发Windows应用程序。我打算使用Tab容器来显示子表单。我使用菜单条显示菜单,并设置MainMenu表单的IsMDIContainer = true属性。 MainMenu表单还包含一个Tab Control,我计划在Tab Control中将所有子表单显示为Tap Pages。
到目前为止,我已经能够在用户选择菜单选项时添加标签页。但我不知道如何在标签页中显示子表单。
我在菜单点击事件中使用了以下代码。
frmPurchaseEntry PurchaseEntry = new frmPurchaseEntry;
PurchaseEntry.MdiParent = this;
PurchaseEntry.TabCtrl = tabControl1;
TabPage tpPurchaseEntry = new TabPage();
tpPurchaseEntry.Parent = tabControl1;
tpPurchaseEntry.Text = "Purchase Entry";
tpPurchaseEntry.Show();
PurchaseEntry.TabPag = tpPurchaseEntry;
PurchaseEntry.Show();
tabControl1.SelectedTab = tpPurchaseEntry;
如何在标签页中正确显示子表单?我不想要文件 - >新类型的应用程序,其中菜单点击事件显示相同(空白)表单。我的菜单选项应各自显示一个独特/不同的形式。
谢谢。
Lalit Kumar Barik
答案 0 :(得分:0)
子表单的Parent属性可以提供帮助。将其设置为tabpage对象,看看会发生什么。
编辑:显然,这会引发ArgumentException。 “顶级控件无法添加到控件中。”您可以将表单的内容放在Panel或其他内容中,然后设置Panel的Parent属性。
我自己使用的另一个选项是使用伪 TabStrip,它在相关表单上调用Activate()方法。它通过枚举父级的MdiChildren列表来绘制选项卡,记住每个选项的命中率。