C# 如何阻止表单突然出现

C# 如何阻止表单突然出现,c#,C#,我有一个程序,我从一个表单到下一个表单获取数据,因此它在每个表单上显示相同的数据。虽然当我尝试关闭或隐藏表单时,当我尝试关闭表单3并移动到表单4时,将信息从表单2传递到表单3的其他表单中的一个仍会出现。如何关闭表格2,使其不再出现 这是我从表格2到表格3的当前代码: 我在初始化组件的下面设置了这个参数,以便从表单1中读取数据 public string Username { get; set; } public string MSG { get; set; } 然后我读入form2 load中

我有一个程序,我从一个表单到下一个表单获取数据,因此它在每个表单上显示相同的数据。虽然当我尝试关闭或隐藏表单时,当我尝试关闭表单3并移动到表单4时,将信息从表单2传递到表单3的其他表单中的一个仍会出现。如何关闭表格2,使其不再出现

这是我从表格2到表格3的当前代码: 我在初始化组件的下面设置了这个参数,以便从表单1中读取数据

public string Username { get; set; }
public string MSG { get; set; }
然后我读入form2 load中的值

label4.Text = Username;
label5.Text = MSG;
然后,我尝试在启用时间仅为3秒的计时器中将信息中继到表单3:

using (var f = new form3())
{
     try
     {
         f.Username = label4.Text;
         f.MSG = label5.Text;
         f.ShowDialog();
     }
     catch
     {
         Application.Exit();
     }
     this.Close();
}
然后在表格3上,我试着用一个按钮转到表格4,表格2再次出现

private void button1_Click(object sender, EventArgs e)
{
     form4.Show();
     this.Close();   
}
我该怎么阻止这一切

谢谢。

更改此选项:

form4.Show();
为此:

form4.ShowDialog();

您正在显示Form4非模态,因此立即执行
this.Close()
,Form3将关闭。Form4仍然打开,但可能只是下降到背景,Form2回到前面。

但是当我这样做,Form2停止弹出时,我无法像使用Form4时那样正确执行Form4上的按钮。Show我修复了它,谢谢。我需要把一切都保持在模态格式。