form.Show в функции, не работающей при вызове

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

1 ответы

Вы переписываете фактическую форму, которую вы пытаетесь загрузить с помощью нового экземпляра Form , в этой строке:

formToLoad  = new Form

Попробуй это :

//set formToLoad properties
formToLoad.Owner = form1;
formToLoad.FormBorderStyle = FormBorderStyle.None;
formToLoad.TopLevel = false; 
formToLoad.Dock = DockStyle.Fill;
2
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot