在我的節目我打開每一個表格的ShowDialog
的幫助和前一天的收盤一傢俱有幫助:形式已經可見不能顯示爲模式對話框
this.Hide();
...some code...
this.Close();
但是,當我想打開第二次填寫表格,我得到了標題中的錯誤。它會是什麼?也許是因爲我使用了希望第二次打開的表單的Singleton模式。
在我的節目我打開每一個表格的ShowDialog
的幫助和前一天的收盤一傢俱有幫助:形式已經可見不能顯示爲模式對話框
this.Hide();
...some code...
this.Close();
但是,當我想打開第二次填寫表格,我得到了標題中的錯誤。它會是什麼?也許是因爲我使用了希望第二次打開的表單的Singleton模式。
而不是使用ShowDialog
持續顯示錶單,您可以根據需要創建每個表單的新實例。例如
using(Form frm = new Form1)
{
DialogResult dr = frm.ShowDialog(this)
if(dr == DialogResult.Cancel)
{
...
}
}
或
Form frm = new Form1();
DialogResult dr = frm.ShowDialog(this);
if(dr == DialogResult.Cancel)
{
...
}
frm.Dispose();
看到這個answer
如何處理Singleton模式表單?我稱之爲Form1.Instance.ShowDialog()。 – user3560681
不要使用Singleton。如果您的表單需要很長時間才能創建,您應該確定需要花費很長時間才能加載並緩存該靜態對象,而不是試圖將整個表單緩存爲靜態對象。 –
有大量的代碼,我甚至不知道是什麼,包括。因爲我理解ShowDialog中的問題 – user3560681