当在C#中加载winforms时,显示第二种形式而不是第一种形式 [英] Show second form instead of first form when winforms loaded in C#

查看:142
本文介绍了当在C#中加载winforms时,显示第二种形式而不是第一种形式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个窗体。我想在第一个窗体加载时显示第二个窗体。但问题是,第一个窗体加载后,它会显示两个窗体而不隐藏我的第一个窗体。请检查我的代码如下。感谢您的任何解决方案!

  form2 frm2 = new form2(); 
private void form1_Load(object sender,EventArgs e)
{
form1 frm1 = new form1();
frm1 = this;
frm1.Hide();
frm2.Show();
}


解决方案

另一个解决方案:

  private void Form1_Load(object sender,EventArgs e)
{
Task.Factory.StartNew(()=> ;
{
if(InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate
{
this.Hide();
Form2 frm = new Form2();
frm.Show();
frm.FormClosing + =(s,o)=> this.Show();
}));
return;
}

});
}

但是我觉得在你的问题下的意见建议更好: p>

I have two windows forms. I want to show the second form when my first form is loaded.But the problem is that after the first form is loaded, it shows both forms without hiding my first form. Please check my code below. Thank you for any solutions!

 form2 frm2= new form2();
 private void form1_Load(object sender, EventArgs e)
    {
     form1 frm1 = new form1();
     frm1 = this;
     frm1.Hide();
     frm2.Show();  
    }

解决方案

Another solution:

    private void Form1_Load(object sender, EventArgs e)
    {
        Task.Factory.StartNew(() =>
        {
            if (InvokeRequired)
            {
                this.Invoke(new MethodInvoker(delegate
                {
                    this.Hide();
                    Form2 frm = new Form2();
                    frm.Show();
                    frm.FormClosing += (s, o) => this.Show();
                }));
                return;
            }

        });
    }

but I think following suggestions in comments under your question is better :)

这篇关于当在C#中加载winforms时,显示第二种形式而不是第一种形式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆