我在代码中这样写的:
private void btnStart_Click(object sender, System.EventArgs e)
{
     Form2 fr = new Form();
     string str1 = "1111";
     string strTemp = "";
     if (str1 == str2)
     {
           strTemp = "OK";
           Messagebox.show("nihao");
     }
     else
     {
          fr.ShowDialog();
     }
}
假如str1和str2相等,程序执行到Messagebox.show("nihao");就停顿不前,程序无应答,并且在进程管理其中又出现一个form。
但是如果我把Form2 fr = new Form();这句话放在
else
     {
          Form2 fr = new Form();
          fr.ShowDialog();
     }Messagebox.show("nihao");这句话就能正确执行,请问这是为什么啊?(其中Form2是工程中的另一个Form)