Form1在ShowDialog之后关闭Form2

时间:2014-11-12 19:13:49

标签: c# forms hide show showdialog

我有2个表格。我用ShowDialog()打开form2,但是当我关闭它时(通过隐藏它),表单1消失了几秒钟,但是如果我使用show打开表单2那么这不会发生。

我需要使用ShowDialog(),如何在表单2关闭后修复表单1的消失?

我在使用Form1.Show()关闭表单2后立即尝试使用Hide(),但无效。

Form1中

private void p0_igra2_Click(object sender, EventArgs e) 
    {
        this.CenterToScreen();
        imevislice.ShowDialog();
    }

窗体2

private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")  
            errorProvider1.SetError(textBox1, "Polje more biti izpolnjeno"); 
        else  
        {
            errorProvider1.Clear();   
            ime = textBox1.Text;  
            if (radioButton1.Checked)  
                izbrane_besede = "SLO";   
            else
                izbrane_besede = "ENG";
            this.Hide();
            form1.Show();
            form1.namehangman(); 
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您使用ShowDialog打开表单,则在完成后需要关闭Form.Close)。 ShowDialog启动模态对话框;这意味着在表单关闭之前,调用函数不会继续执行。

使用Show可以解决此问题,但您没有说明该方法无法解决的问题。

一般来说,ShowDialog相当便宜;你应该能够正确地关闭表格,你不会遇到任何问题。