form.Show函数在调用时不工作

时间:2013-02-07 07:41:55

标签: c# .net winforms

public static object loadForm(Form formToLoad, TabControl homeTabControl)
{
    //Check if formToLoad parameter is NULL
    if (formToLoad == null) throw new ArgumentNullException("formToLoad");

    //get the parent/ownining form
    Form form1 = new Form1();

    //set formToLoad properties
    formToLoad = new Form
    {
        Owner = form1,
        FormBorderStyle = FormBorderStyle.None,
        TopLevel = false,
        Dock = DockStyle.Fill
    };

    //add formToLoad to tabControl tabPage
    homeTabControl.TabPages["tabPageHome"].Controls.Add(formToLoad);
    formToLoad.Show();

    return formToLoad;
}

当我通过点击按钮调用我的代码时,formToLoad怎么没有显示在tabControl页面中?

private void button3_Click(object sender, EventArgs e)
{
    LeaveMainForm lM = new LeaveMainForm();
    AppCode.FormLoader.loadForm(lM, homeTabControl);
}

1 个答案:

答案 0 :(得分:2)

您在使用新的Form实例覆盖了您尝试加载的实际表单,在此行中:

formToLoad  = new Form

试试这个:

//set formToLoad properties
formToLoad.Owner = form1;
formToLoad.FormBorderStyle = FormBorderStyle.None;
formToLoad.TopLevel = false; 
formToLoad.Dock = DockStyle.Fill;