0

我正在使用 C# 2005 开发 Windows 应用程序。我打算使用选项卡容器来显示子表单。我使用了菜单条来显示菜单并设置了 MainMenu 表单的 IsMDIContainer = true 属性。MainMenu 表单还包含一个选项卡控件,我计划在选项卡控件中将所有子表单显示为 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;

如何在标签页中正确显示子表单?我不想要一个文件-> 新类型的应用程序,其中菜单单击事件显示相同的(空白)表单。我的菜单选项应该每个都显示一个独特/不同的形式。

谢谢你。

拉利特·库马尔·巴里克

4

1 回答 1

0

子窗体的 Parent 属性可能会有所帮助。将其设置为 tabpage 对象,看看会发生什么。

编辑:显然,这会引发 ArgumentException。“无法将顶级控件添加到控件中。” 您可以改为将表单的内容放在 Panel 或其他东西中,然后设置该 Panel 的 Parent 属性。

我自己使用的另一个选项是有一个的TabStrip,它在相关表单上调用 Activate() 方法。它通过枚举父级的 MdiChildren 列表来绘制选项卡,并记住每个选项卡的 hitrects。

于 2009-07-16T17:49:59.877 回答