C# 同样有析构函数,这样写也是可以的啊.class myClass
{
   privated void Release()
   {
       // Handle your resource here;
   }   ~myClass()
   {
       this.Release();
    }
}楼上的意思是对的, 还是用IDisposable接口的好.public class myClass : IDisposable
{
   public void Dispose()
   {
      // Clear your resources here;
   }
}

解决方案 »

  1.   

    put your thread variables as the member variables of the form, class Form1 : Form
    {
      Thread thrRecGroupMsg,thrLisBackMsg;
      public Form1()
      {
        clients = new ArrayList();
        thrRecGroupMsg = new Thread(new ThreadStart(RecGroupMsg));
        thrRecGroupMsg.Start();
        thrLisBackMsg = new Thread(new ThreadStart(StartLisBackMsg));
        thrLisBackMsg.Start();    this.Closing += new System.ComponentModel.CancelEventHandler(CloseWin);  }  void CloseWin(object sender, System.ComponentModel.CancelEventArgs e)
      {
        if (thrRecGroupMsg.IsAlive)
             thrRecGroupMsg.Abort();
        if (thrLisBackMsg.IsAlive)
             thrLisBackMsg.Abort();
      }
    }
      

  2.   

    private void Form_Closing(object sender, System.ComponentModel.CancelEventArgs e)

    {

    e.Cancel=false;


    this.Dispose();


    this.Close();

    try

    {

    if (server!=null)

    {

    server.Close=true;

    //处理消息队列中的所有未决消息

    Application.DoEvents();

    server.Dispose();

    ClientThread.Abort();

    }

    }

    catch(Exception e)

    {

    }
    }
      

  3.   

    你可以对窗体的关闭事件进行编程,在事件处理过程中进行相关的处理就可以了。这里的事件可以使用Closing和Closed,一个是在窗体关闭前发生,一个是在窗体关闭后发生。