我有三种形式(form1
,form2
,form3
)。当form1
加载时,它通过使用以下代码转到form2
:
this.Hide();
Form2 frm = new Form2();
frm.ShowDialog();
this.Close();
form2
包含一个按钮,通过在按钮中使用以下代码显示form3
和隐藏form2
:
Form3 frm = new Form3();
frm.Show();
this.Hide();
问题是,当我单击此按钮时,应用程序将退出。
当单击按钮时,我需要显示form3
并隐藏form2
。
发布于 2019-07-04 13:48:04
当您针对Hide()
调用Form2
时,执行返回到ShowDialog()
行。
不要使用ShowDialog()
,而是使用Show()
。您可以订阅FormClosed()
事件,以了解窗体何时关闭。
Form1:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 frm = new Form2();
frm.FormClosed += Frm_FormClosed;
frm.Show();
}
private void Frm_FormClosed(object sender, FormClosedEventArgs e)
{
this.Close();
}
}
Form2:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form3 frm = new Form3();
frm.FormClosed += Frm_FormClosed;
frm.Show();
}
private void Frm_FormClosed(object sender, FormClosedEventArgs e)
{
this.Close();
}
}
Form3:
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
}
https://stackoverflow.com/questions/56887633
复制相似问题