呵呵,怨我没有说清楚。
就是有一个程序主窗口Form1
设定一个计时器
在主窗口失活时开始计时
在失活达到5秒后调用程序函数
private void CheckStatus(Object state)
{
this.timer.Dispose();
this.Dispose(true);
}
但是运行时会报错
未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中
不知为什么,请教高人
就是有一个程序主窗口Form1
设定一个计时器
在主窗口失活时开始计时
在失活达到5秒后调用程序函数
private void CheckStatus(Object state)
{
this.timer.Dispose();
this.Dispose(true);
}
但是运行时会报错
未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中
不知为什么,请教高人
private void Form1_Activated(object sender, System.EventArgs e)
{
if(this.timer != null)
this.timer.Dispose();
}
.net的对象不等于null不表示它是处于有效状态。
或者你可以这样写
if(this.timer != null)
{
this.timer.Dispose();
this.timer = null;
}
其他地方的判断和处理也一样。感觉你是刚从c++转过来的,其实托管对象很多时候不需要显式地Dispose
窗口关闭直接用this.Close();