我正在使用 C# 2005 创建一个 Windows 应用程序。我有一个 MDIForm (frmMainMenu),其中包含一个 Menustrip 和一个
选项卡控件。我的 ChildForm 是 frmPurchaseEntry。当用户单击特定的菜单选项时,会创建一个新的 TabPage 并
子窗体显示在 TabPage 内。
我在 MDIForm (frmMainMenu) 的 MenuClick 事件中使用以下代码:
frmPurchaseEntry PurchaseEntry = new frmPurchaseEntry();
PurchaseEntry.MdiParent = this;
PurchaseEntry.TabCtrl = tabControl1;
PurchaseEntry.TopLevel = false;
PurchaseEntry.Visible = true;
PurchaseEntry.FormBorderStyle = FormBorderStyle.None;
PurchaseEntry.Dock = DockStyle.Fill;
TabPage tpPurchaseEntry = new TabPage();
tpPurchaseEntry.Parent = tabControl1;
tpPurchaseEntry.Text = PurchaseEntry.Text;
tpPurchaseEntry.Controls.Add(PurchaseEntry);
tpPurchaseEntry.Show();
PurchaseEntry.Select();
tabControl1.SelectedTab = tpPurchaseEntry ;
一切都很好。但是当 ChildForm 关闭时,我无法删除 TabPage。仅以下命令
关闭 ChildForm,但空的 TabPage 仍然存在。
this.Close();
我知道删除 TabPage 的语法是
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
但我无法从 ChildForm 访问 MDIForm 的 TabControl。我尝试对 TabControl 使用 Public 修饰符,但是
它仍然没有从 ChildForm 中暴露出来。
如何从 ChildForm 中删除并处理特定的 TabPage(带有特定的选项卡文本)???
谢谢你。
拉利特·库马尔·巴里克