C# 调用时函数中的form.Show不起作用

C# 调用时函数中的form.Show不起作用,c#,.net,winforms,C#,.net,Winforms,为什么当我通过单击按钮调用代码时,formToLoad不会显示在tabControl页面中 public static object loadForm(Form formToLoad, TabControl homeTabControl) { //Check if formToLoad parameter is NULL if (formToLoad == null) throw new ArgumentNullException("formToLoad"); //ge

为什么当我通过单击按钮调用代码时,formToLoad不会显示在tabControl页面中

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;
}

您正在使用一个新的
表单
实例过度编写您试图加载的实际表单,在这一行:

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

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