//对FrmClass窗体使用单例
private static FrmClass frm;
public static FrmClass GetInstance()
{
if (frm == null)
frm = new FrmClass(); return frm;
}//FormClosing事件处理程序
private void FrmClass_FormClosing(object sender, FormClosingEventArgs e)
{
//frm = null;
//这里如果不释放frm的话, 当关闭窗体再次调用时有时候会出现"无法访问已释放的对象"错误提示, 然而有时不会出现
//具体的感觉是MDI环境下调用的话容易出现这个错误, 这是为什么?
}为什么会出现这个错误?
为什么有时候会出现这个错误, 有时候不会?
private static FrmClass frm;
public static FrmClass GetInstance()
{
if (frm == null)
frm = new FrmClass(); return frm;
}//FormClosing事件处理程序
private void FrmClass_FormClosing(object sender, FormClosingEventArgs e)
{
//frm = null;
//这里如果不释放frm的话, 当关闭窗体再次调用时有时候会出现"无法访问已释放的对象"错误提示, 然而有时不会出现
//具体的感觉是MDI环境下调用的话容易出现这个错误, 这是为什么?
}为什么会出现这个错误?
为什么有时候会出现这个错误, 有时候不会?
public static FrmClass GetInstance()
这里好像有问题.你把static换成其它的看看.
我已经试过了:
frm.IsDisposed == true 但 frm != null
{
if (frm == null || frm.IsDisposed )
frm = new FrmClass(); return frm;
}