我在單個實例的codeproject中找到了以下代碼。MDI單實例C#..如何實現?
frmSChild objfrmSChild = frmSChild.GetChildInstance();
objfrmSChild.MdiParent = this;
objfrmSChild.Show();
objfrmSChild.BringToFront();
它工作正常。但它只能使用一次。我打開frmSChild
2或3次。它會帶來這種形式。
但是,如果我關閉該表單並再次打開。有一個錯誤,說明cannot detect an exposed ojbect
。
如何修改代碼以完成它?
喜來創建實例
編輯,我查了處理的財產具有的try-catch。我把上面的代碼放在try中,如果發現catch語句,我開始創建一個新表單。對於主窗體可以,但是當第二次關閉子窗體時無法訪問已處理的對象時會彈出異常。 – william 2011-01-19 02:46:48
@william:不要在預期條件下使用try/catch塊;這是不必要的慢。你應該可以檢查`objfrmSChild.IsDisposed`。 – SLaks 2011-01-19 03:04:06