C# 将TabControl附加到MDI父窗体而不是toolstrip

C# 将TabControl附加到MDI父窗体而不是toolstrip,c#,winforms,mdi,C#,Winforms,Mdi,我有一组行为良好的Windows窗体,它们嵌入在DLL中,我无法完全控制它们。这些都是一个单独的遗留项目的一部分,我正试图在一个界面下统一这些项目,这样应用程序就不会感觉像地狱一样 我认为这样做的方法是创建一个MDI父窗体,并将其他窗体作为该窗体的子窗体打开。根据需要一次生成一个子表单。导航时,一个MDI文档将关闭,另一个将打开 但是,父MDI表单需要导航控件。我想使用tabcontrol。是否可以将tabcontrol附加到父MDI表单?我能找到的所有文档和示例都是toolstrips,但这对

我有一组行为良好的Windows窗体,它们嵌入在DLL中,我无法完全控制它们。这些都是一个单独的遗留项目的一部分,我正试图在一个界面下统一这些项目,这样应用程序就不会感觉像地狱一样

我认为这样做的方法是创建一个MDI父窗体,并将其他窗体作为该窗体的子窗体打开。根据需要一次生成一个子表单。导航时,一个MDI文档将关闭,另一个将打开

但是,父MDI表单需要导航控件。我想使用tabcontrol。是否可以将tabcontrol附加到父MDI表单?我能找到的所有文档和示例都是toolstrips,但这对于我想要完成的工作来说太有限了

没有代码显示,抱歉。我不确定我想要的是否可能


更新如下所示,我真的不需要MDI来完成我开始做的事情。但是,让问题保持原样。

如果我没有读错,那么我认为MDI不是您想要的,因为您希望使用TabControl导航到每个表单

如果将
TopLevel
设置为false并从表单中删除边框,则实际上是将表单转换为用户控件,并可以将其添加到您选择的TabPage面板中:

  Form f = new Form();
  f.TopLevel = false;
  f.FormBorderStyle = FormBorderStyle.None;
  f.Dock = DockStyle.Fill;
  tabPage1.Controls.Add(f);
  f.Visible = true;

表单
更改为从DLL中引用的表单。

你说得对,我想我通过拖动MDI使这一切变得过于复杂。这可能会起作用,我将在验证后尽快标记答案。谢谢,我不明白这怎么行。根据TabControl,只能添加TabPages,不能添加表单。其他SO页面响应使用MDI@erict表单正在添加到选项卡页的控件集合中。