呵呵,怨我没有说清楚。
就是有一个程序主窗口Form1
设定一个计时器
在主窗口失活时开始计时
在失活达到5秒后调用程序函数
private void CheckStatus(Object state) 

this.timer.Dispose(); 
this.Dispose(true); 

但是运行时会报错
未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中
不知为什么,请教高人

解决方案 »

  1.   

    //重新激活的事件处理 
    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();