0

我们可以在 C# Windows 应用程序的一个表单中将多个窗口窗体放在选项卡控件中吗?

例如,这是实现它的正确方法还是我们应该使用用户控制?

  Form2 frm = new Form2();
  frm.TopLevel = false;
  frm.Visible = true;
  frm.FormBorderStyle = FormBorderStyle.None;
  frm.Dock = DockStyle.Fill;
  tabControl1.TabPages[0].Controls.Add(frm);
4

3 回答 3

2

您不能也不需要使用 Windows 窗体,但您可以使用:

  • UserControl包含当前选项卡的所有控件
  • 组框控件
  • 面板控制
  • TableLayoutPanel控件可根据某些比例分配子控件的位置,因此您的 UI 在不同的屏幕尺寸和分辨率上看起来都一样好。

有了这些,您就可以在 VS 设计中创建 UI,因此很容易管理更改。如果控件的数量和可能的选项(例如选项卡)真的很大,您也可以考虑动态加载它们的选项。但在这种情况下,项目的正确对齐和可维护性变得更加困难。

于 2013-03-18T13:39:25.363 回答
2

听起来您可以从将单独选项卡中的功能移动到 UserControl 中受益。

UserControl 是一种将功能从主窗体中分离出来的好方法。

于 2013-03-18T13:39:53.927 回答
1

没有什么能真正强迫您将 15 个选项卡代码放入单个 c# 文件中。您可以使用部分类原则将单个类拆分为多个源文件。您还可以将代码拆分为多个类 - Visual Studio 只是您的工具,而不是您的主管。你不需要表现得像 VS 规定的那样,它只涵盖了最常见的情况,你可以在像你这样的特殊情况下做更好的类设计。

是的,你可以把任何东西放在标签上,我的意思是任何其他类的任何 CONTROL 对象。您还可以在其中放置一个表单对象 - 在您的表单对象已经创建的情况下,因为底层 Windows API 允许这样做。

于 2013-03-18T13:42:16.380 回答