【发布时间】:2013-06-20 11:16:34
【问题描述】:
我正在使用带有 c# winforms 的 .NET 3.5。在这个我使用 MDI 子选项卡控件。如果我打开一个表单,它工作正常,它将成功打开。如果我再次打开相同的表格,它会打开。这意味着标签的重复。
我的代码如下...
private void Main_MdiChildActivate(object sender, EventArgs e)
{
if (this.ActiveMdiChild == null)
tabForms.Visible = false; // If no any child form, hide tabControl
else
{
this.ActiveMdiChild.WindowState = FormWindowState.Maximized; // Child form always maximized
if (this.ActiveMdiChild.Tag == null)
{
TabPage tp = new TabPage(this.ActiveMdiChild.Text);
tp.Tag = this.ActiveMdiChild;
tp.Parent = tabForms;
tabForms.SelectedTab = tp;
this.ActiveMdiChild.Tag = tp;
this.ActiveMdiChild.FormClosed += new FormClosedEventHandler(ActiveMdiChild_FormClosed);
}
if (!tabForms.Visible) tabForms.Visible = true;
}
}
在此中,每次 this.ActiveMdiChild.Tag 取 null 值时,它都会一次又一次地打开新表单。这意味着选项卡控件中的表单重复
【问题讨论】:
-
选项卡式窗口模型与 MDI 相比,就像水与火相比。使用其中之一,而不是两者。