TabControl中未显示插入的表单

时间:2013-01-24 09:08:05

标签: c# .net winforms tabcontrol

我有2个表单,我希望将它们插入带有tabcontrol的表单中。我已阅读有关向tabcontrols添加表单的this问题,并且已成功将Form1插入tabcontrol。 Form2也被插入,但表格的内容没有显示。

这是我的代码:

   private FrmMainForm trackIT = new FrmMainForm();
   private MainForm customer = new MainForm();

   private void TrackITForm_Load(object sender, EventArgs e)
        {
            AddNewForm(trackIT, trackitTab);
            AddNewForm(customer, customerTab);
        }

    public void AddNewForm(Form form, TabPage tab)
    {
        form.WindowState = FormWindowState.Maximized;
        form.TopLevel = false;
        form.Parent = tab;
        form.Visible = true;
    }

我还将父Form的IsMDIContainer属性设置为true。

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

  1. 我还将父Form的IsMDIContainer属性设置为true :不要这样做。你没有做MDI。
  2. AddNewForm()中,将WindowState属性设置为所有其他属性。
  3. 我认为(不是100%肯定)Visble=true还不够,请致电form.Show()。在设置WindowState之后执行此操作,尤其是Parent。
  4. 检查设计器代码和FormLoad中是否存在冲突属性的表单。
  5. 考虑使用UserControls而不是Forms。它们意味着嵌入。