我有一个form1,它会打开一个form2,而后者又会打开form3。我想使用一个按钮从form3返回到form1。
form1
private void form2button_Click(object sender, EventArgs e)
{
this.Hide();
form2 f2 = new form2();
f2.ShowDialog();
this.Show();
}
form2
private void form3button_Click(object sender, EventArgs e)
{
this.Close();
form3 f3 = new form3();
f3.ShowDialog();
}
private void exitbutton_Click(object sender, EventArgs e)
{
this.Close();
}
form3
private void mainmenubutton_Click(object sender, EventArgs e)
{
this.Close();
}
private void backbutton_Click(object sender, EventArgs e)
{
this.Close();
form2 f2 = new form2();
f2.ShowDialog();
}
但是在form3中,单击“后退”按钮后,显示的是form2,但form3仍在后台。我通过在this.Hide();
this.Close();
来解决此问题。
我想知道为什么会这样。
答案 0 :(得分:0)
有没有办法让它出现在同一位置?
form2 f1 = new form2();
f1.Location = Location; //location of any form, it also clould be f3.Location if it is exists
f1.ShowDialog();
this.Hide()之间也有区别。和Hide(); ?
不,没有。
答案 1 :(得分:0)
如果我理解的正确,那么这就是返回第一种形式所需要的:
form1:
private void form2button_Click(object sender, EventArgs e)
{
this.Hide();
Account form2 = new Account();
form2.ShowDialog();
this.Show();
}
form2:
private void form3button_Click(object sender, EventArgs e)
{
this.Hide();
form2 f2 = new form2();
f2.ShowDialog();
this.Close();
}
private void exitbutton_Click(object sender, EventArgs e)
{
this.Close();
}
form3:
private void mainmenubutton_Click(object sender, EventArgs e)
{
this.Close();
}
private void backbutton_Click(object sender, EventArgs e)
{
this.Close();
}
this.Hide()之间也有区别。和Hide(); ?
不,没有区别