我有幾個子窗體,它們通過Tab頁的形式??吭诟复绑w中。當(dāng)我關(guān)閉某個子窗體后,如果再次打開相同的子窗體的話,就會出現(xiàn)無法訪問已釋放的對象的錯誤,請問各位這是怎么回事啊,大家在以前有沒有碰到類似的問題~.NET技術(shù)C#問題補(bǔ)充: 我再次打開子窗體時,已經(jīng)事先創(chuàng)建了。。 當(dāng)我調(diào)用子窗體的Show()方法時,就出現(xiàn)了我所描述的錯誤。出現(xiàn)這種錯誤跟framework的版本有關(guān)系嗎? 我的.net framework 是2.0 SP1
2 回答

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗 獲得超4個贊
WinForm 上的 Tab 控件?不知道你的“關(guān)閉”與“再次打開”是如何定義的。如果“打開”是完全新建的窗體(重先加載上次關(guān)閉時的配置數(shù)據(jù)),按理是不應(yīng)該出現(xiàn)這樣的情形。你說“相同的子窗體”,是不是你關(guān)閉 tab (或子窗體)時,釋放了該子窗體,而在再次打開時,沒有重先創(chuàng)建,而是直接引用?沒能看到代碼,大概猜測是盲目的。

慕哥6287543
TA貢獻(xiàn)1831條經(jīng)驗 獲得超10個贊
當(dāng)關(guān)閉窗體時窗體已經(jīng)不存在了
(對象已經(jīng)釋放),但是你show的時候,因為是static 的,所以對象還在,如此一來便沖突了。
在關(guān)閉此窗體的時候?qū)⑺x值為null就OK,和版本沒關(guān)系,要對癥下藥。嗯哼、
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
f2 = null;
}
- 2 回答
- 0 關(guān)注
- 636 瀏覽
添加回答
舉報
0/150
提交
取消