在下面的代碼中,Form1
打開另外兩個Form
s,然後關閉其中一個。結果是第二個子表單也被關閉了。爲什麼?關閉一個子表格關閉其他子表格
public partial class Form1 : Form
{
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer { Interval = 2000 };
public Form1()
{
InitializeComponent();
ShowForm3();
(new Form2()).ShowDialog();//If this is changed to 'Show' - it doesn't get closed.
}
void ShowForm3()
{
Form3 f3 = new Form3();
f3.Show();
timer.Tick += (sender, e) => f3.Close();
timer.Start();
}
}
Form2
和Form3
是默認VS形式。在原始代碼中(當然,這裏的代碼太長了)在Visual Studio中執行時,不會發生這種情況(既不是Debug也不是Release ),它只會在安裝爲clickonce應用程序時發生,然後 - 即使我只是單擊可執行文件(在AppData文件夾下)(也許還有一些代碼可以阻止它在VS中執行時發生,但是)可能是導致這種差異的原因是什麼?或許某種類型的clickonce優化在常規發佈模式下不能完成?)
它是th e時間打開'Reflector' –
@SriramSakthivel我假設你是指最後一段。好主意。謝謝。 – ispiro
不,我可以用VS自己重現 –