if (threadUpload.ThreadState == ThreadState.Running)    两个值都是“Running”,判断条件竟然不成立,应该如何判断?

解决方案 »

  1.   

    private void Bt_Upload_Click(object sender, EventArgs e)
            {
                if (threadUpload.ThreadState != ThreadState.Suspended)
                {
                    threadUpload.Suspend();
                    lstMsg.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\t网络控制上传线程已经挂起,可以进行客户端控制!\r\n");
                    Bt_Upload.Text = "开启网络控制连接";
                }
                else
                {
                    if (threadUpload.ThreadState != ThreadState.Running)
                    {
                        threadUpload.Resume();
                        lstMsg.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\t网络控制上传线程已经挂起,请不要进行客户端控制!\r\n");
                        Bt_Upload.Text = "断开网络控制连接";
                    }
                    
                }
            }
    这样写就可以。  用"!="表达式就可以,用“==”表达式就不行,这是为什么呢???