在Windows窗体1加载时隐藏窗体1和显示窗体2

时间:2015-12-11 07:29:31

标签: c# winforms

是C#编程的新手。这是我的麻烦: 我想在Windows Form 1 Load上显示一个新的Form 2和Hide Form 1。

这是我目前的代码;

private void Form1_Load(object sender, EventArgs e)
{
    var Form2 = new Form2();
    Form2.Show();
    this.Hide();
}

我对当前代码的计算错误: 当Form 1加载其Form 2时,它并没有隐藏自己。 this.Hide声明无法正常工作,我尝试this.Close但这将关闭整个软件,因为它正在关闭主表单。

任何人都可以帮我解决这个错误。

3 个答案:

答案 0 :(得分:0)

您可以使用可见属性隐藏表单。

private void Form1_Load(object sender, EventArgs e)
{
    var Form2 = new Form2();
    Form2.Show();
    this.Visible=false;
}

答案 1 :(得分:0)

我认为错误是你在隐藏上一个表单之前显示form2。

private void Form1_Load(object sender, EventArgs e)
{
     var Form2 = new Form2();
     form1.Visible=false;
     Form2.Show();
}

您还可以使用show dailog method()将form2设置为模态,通过该方法将焦点赋予form2,并且form1变为非活动状态,尽管它将被显示。

模态和无模式https://msdn.microsoft.com/en-IN/library/aa984358%28v=vs.71%29.aspx

答案 2 :(得分:0)

这是我如何设法完成这项工作的。

新代码: 表格1

    private void Form1_Load(object sender, EventArgs e)
    {
        var Form2 = new Form2();
        Form2.Show();
    }

    private void Timer_Tick(object sender, EventArgs e)
    {
        if (Properties.Settings.Default.Status == "Form2Visible")
        {
            this.Hide();
        }

    }

说明: 在Windows窗体1上显示表单2,然后使用计时器验证Properties.Settings值。如果Properties.Settings = Form2Visible,则表单1将隐藏。在表单2上完成后,我只需要将Properties.Settings更改为其他内容并在表单1上停止计时器。

如果他们是最简单的方式让我知道。