我有几个子窗体,它们通过Tab页的形式停靠在父窗体中。当我关闭某个子窗体后,如果再次打开相同的子窗体的话,就会出现无法访问已释放的对象的错误,请问各位这是怎么回事啊,大家在以前有没有碰到类似的问题~.NET技术C#问题补充: 我再次打开子窗体时,已经事先创建了。。 当我调用子窗体的Show()方法时,就出现了我所描述的错误。出现这种错误跟framework的版本有关系吗? 我的.net framework 是2.0 SP1
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
WinForm 上的 Tab 控件?不知道你的“关闭”与“再次打开”是如何定义的。如果“打开”是完全新建的窗体(重先加载上次关闭时的配置数据),按理是不应该出现这样的情形。你说“相同的子窗体”,是不是你关闭 tab (或子窗体)时,释放了该子窗体,而在再次打开时,没有重先创建,而是直接引用?没能看到代码,大概猜测是盲目的。
慕哥6287543
TA贡献1831条经验 获得超10个赞
当关闭窗体时窗体已经不存在了
(对象已经释放),但是你show的时候,因为是static 的,所以对象还在,如此一来便冲突了。
在关闭此窗体的时候将它赋值为null就OK,和版本没关系,要对症下药。嗯哼、
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
f2 = null;
}
- 2 回答
- 0 关注
- 602 浏览
添加回答
举报
0/150
提交
取消