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