我正在使用带有 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 时,它会一次又一次地打开新表单。这意味着选项卡控件中的表单重复