//按钮事件
private void startserver(object sender, EventArgs e){
            ThreadStart myThreadDelegate = new ThreadStart(Listen);
            myThread = new Thread(myThreadDelegate);
            myThread.Start();
            toolStripStatusLabel1.Text = "服务开启,监听端口"+localEndPoint.Port;
            ToolStripMenuItem.Enabled = false;
}//按钮事件
private void stopserver(object sender, EventArgs e)
{
如何结束这个线程
 }

解决方案 »

  1.   

    myThread 定义成全局的
    myThread.Abort()
      

  2.   

    如楼上的把myThread定义在按钮事件外
    myThread.Abort()
      

  3.   

    同楼上,楼主知道他的知道吗?全局:他所说的是在类全局。那你就在你这个窗体类下,方法外定义Thread对象,这样,该窗体类下的所以成员/方法,都可以调用这个Thread对象了。
      

  4.   

    try
    {
    myThread.Abort();
    myThread.Join();
    }
    catch
    {
    }
      

  5.   

    myThread 定义成全局的或者通过事件的参数传递myThread引用。
    使用myThread.Abort()需要注意其异常的抛出。
    可以这样处理: myThread.Abort();myThread.join();
    或者
    try
    {
       myThread.Abort();
    }
    catch(ThreadAbortException e)
    {
       Thread.ResetAbort();
    }
      

  6.   


    直接abort是可以。
    但通常情况下是通过改变标志位,让线程自动退出。