C# 在选项卡控件中锚定窗体

C# 在选项卡控件中锚定窗体,c#,.net,winforms,C#,.net,Winforms,我有一个Form1,里面有一个tab控件。在这个选项卡控件中,我插入了Form2。我已经在Form2中锚定了组件,效果很好。但是,只要我将Form2插入Form1的选项卡控件,当我调整窗口大小时,什么也不会发生。以下是我将Form2插入Form1的方式: public void AddNewForm(Form form, TabPage tab) { form.TopLevel = false; form.Anchor = (

我有一个Form1,里面有一个tab控件。在这个选项卡控件中,我插入了Form2。我已经在Form2中锚定了组件,效果很好。但是,只要我将Form2插入Form1的选项卡控件,当我调整窗口大小时,什么也不会发生。以下是我将Form2插入Form1的方式:

  public void AddNewForm(Form form, TabPage tab)
        {

            form.TopLevel = false;
            form.Anchor = (AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left);
            //form.Dock = DockStyle.Fill;
            form.Parent = tab;
            form.Show();

        }
正如你所看到的,我试图锚定和停靠Form2,但没有任何帮助


有人能帮忙吗?

表单被锚定/固定到选项卡页面。要使其更改大小,需要更改选项卡页面的大小。因此,当您调整Form1的大小时,它不会发生任何变化,除非您锚定/停靠TabControl以使其更改大小。

我会尝试移动Form2的内容(控件和逻辑)设置为用户控件,然后在tab和Form2中使用该控件。是否将父窗体的IsMdiContainer设置为true,并将form.MdiParent设置为父窗体?@w0lf-我希望可以解决这个问题。因为Form2是在.net 2.0中编写的代码,是一个糟糕的代码:)@mihirj-刚刚尝试过,当我这样做时Form2没有出现。在控件中有一个表单并不是一个真正受支持的场景,尽管它在一定程度上是有效的。用户控制是您想要的。如果可以单独显示此表单,则可以将相同的UserControl放入其中。当需要嵌入时,将使用UserControl,否则将使用包装器表单。我说的是包装器,因为它没有逻辑,一切都将由它包含的UserControl完成。但我已经将逻辑和设计转移到了一个运行良好的用户控件上。谢谢你的帮助!