我使用.NET 3.5与c#winforms。在这我使用MDI子选项卡控件。它工作正常,如果我打开一个窗体,它会打开成功。如果我再次打开相同的表单,它会打开。这意味着标签的重复。如何避免子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取空的值,使之一次又一次打开了新的形式。这意味着选项卡控件中的表单重复
选项卡式窗口模式进行比较,以MDI如水比较火。使用一个或另一个,而不是两个。 –