[英]c# winform programming
我有兩種形式; 一個叫做“勝利”,另一個叫做“失敗”。 “贏”表單上有一個按鈕,顯示“丟失”表單。 單擊此按鈕時,兩個表單都可見。 當我關閉'丟失'表單然后再次單擊'win'表單上的按鈕時,我得到以下異常:
An unhandled exception has occured: Unable to access a disposed object ..object :form
請有人指出我正確的方向,所以我可以解決這個問題嗎?
這是因為你的“損失”形式已經關閉並且已被處理掉,所以它不能再被使用了。 您需要創建表單的新實例,如此(不知道您的代碼看起來如何):
this.loss = new LossForm();
this.loss.Show();
在引用表單之前,您可以驗證表單的IsDisposed屬性。
例如'win'表單上的按鈕點擊處理程序:
if (loss.IsDisposed)
return;
// do stuff with loss form
更新:我認為最好不要在表單之間共享控制權。
這不是一個非常好的模型,但你可以掛鈎到formClosing事件,取消它然后隱藏表單。 這意味着表格不會自動處理,你可以再次打電話給show。
花一些時間來研究MVC架構 - 它起初看起來很復雜,但它確實有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.