选项卡控件-更改为不同的表单(C#)
我在空白表单上有一个选项卡控件,尽管当我更改选项卡时,有一种方法可以在单击其他选项卡时更改表单。请参见以下说明:选项卡控件-更改为不同的表单(C#),c#,.net,windows,C#,.net,Windows,我在空白表单上有一个选项卡控件,尽管当我更改选项卡时,有一种方法可以在单击其他选项卡时更改表单。请参见以下说明: 例如,如果我单击“tabPage2”,我将看到Form2.cs是。只需将Form2设置为无边框,并将TopLevel更改为False,然后就可以将其添加到tabPage2.Controls集合中,就像普通表单一样。也可以添加DockStyle来填充该表单 简单演示: private void tabControl1_Selecting(object sender, TabContr
例如,如果我单击“tabPage2”,我将看到Form2.cs是。只需将Form2设置为无边框,并将TopLevel更改为False,然后就可以将其添加到tabPage2.Controls集合中,就像普通表单一样。也可以添加DockStyle来填充该表单 简单演示:
private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) {
if (e.TabPage.Name == tabPage2.Name) {
if (tabPage2.Controls.Count == 0) {
Form f = new Form();
f.TopLevel = false;
f.FormBorderStyle = FormBorderStyle.None;
f.BackColor = Color.Red;
f.Dock = DockStyle.Fill;
tabPage2.Controls.Add(f);
f.Show();
}
}
}
有点奇怪的问题,在我看来,这不是最好的设计实践。至于我,我建议你创建用户控件,并将它们放在任何表单/选项卡/容器中。它会让你在任何地方都有同样的行为 顺便说一句,您可以在容器内放置任何表单,例如:
tabPage2.Controls.Add(new Form2());
您可能希望研究像开源一样的可固定表单控件。使用此控件,您可以让一个窗体宿主多个窗体、在选项卡中或像Visual Studio一样停靠。您的示例将引发参数异常,因为默认情况下,新窗体的TopLevel=true。