我不知道這是否是這樣做的最好方法,但我試圖創建一個表單,它將在我的應用程序中爲所有其他表單創建一個父表單,並將檢查是否它的一個實例(實際上是它的孩子)是開放的。這個想法是在實例化和打開新表單時最小化擁有表單的代碼量。我父窗體中的代碼運行良好,構造函數檢查Application.OpenForms是否包含其類型的實例並將其自身關閉,因此我現在不打算髮布它。 問題是在擁有窗體中執行Show()方法。 此代碼將無法正常工作(明顯),如果重複發現獲取一個對象的處置狀態
FormA form = new FormA();
form.Show();
因爲表單對象應該已經處理完畢。 但是,這並不工作,也:
FormA form = new FormA();
if(form != null)
form.Show();
正確的方法是檢查是否樣式設置,所以我正在尋找這就夠了這個條件屬性:
if(state of form is Disposed)
所以問題:有沒有一個屬性可以允許這個測試?
現在,我可以使用事件處理程序來處理異常處理程序tp,但這會違反原則在開始階段 - 限制打開窗體所需的代碼。
恐怕不是(對於所有的IDisposable),除非你公開一些額外的數據或將它清空。 –
@ DanielA.White雖然碰巧有Windows窗體控件(和窗體),但是:) –