在线程中访问控件(datagridview)提示:不支援指定的路径格式
开始运行线程的时候还不会有问题,一旦条件成立就报错这个控件在其它线程中也有访问到,但不会报错.delegate void CheckTestStatusCallBack();
 void CheckTestStatus()
        {
            if (this.ClientList.InvokeRequired)
            {
                try
                {
                    CheckTestStatusCallBack ctscb = new CheckTestStatusCallBack(CheckTestStatus);
                    this.Invoke(ctscb, null);  //这里有异常 
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);  
                }
            }
            else
            {
                for (int i = 0; i < this.ClientList.Rows.Count; i++)
                {
                    if (this.ClientList["當前狀態", i].Value.ToString().ToUpper().Trim() == "PASS" || this.ClientList["當前狀態", i].Value.ToString().ToUpper().Trim() == "FAIL") continue;
                    //========== 如果"起始時間"+"測試時間"小於當前時間並且"結束時間"+"等待時間"大於當前時間
                    if(Convert.ToDateTime(this.ClientList["起始時間", i].Value).AddMinutes(Convert.ToDouble(this.ClientList["測試時間",i].Value)) < DateTime.Now &&  Convert.ToDateTime(this.ClientList["結束時間", i].Value).AddSeconds(Convert.ToDouble(this.m_OffLine.Value)) > DateTime.Now)
                    {
                        CreateTestLog(this.ClientList["主板條碼", i].Value.ToString(), this.ClientList["測試機臺", i].Value.ToString(), this.ClientList["測試工號", i].Value.ToString(), this.ClientList["起始時間", i].Value.ToString(), this.ClientList["結束時間", i].Value.ToString(), "P");
                        this.ClientList["當前狀態", i].Value = "pass";
                        continue;
                    }                    //========== 如果狀態等於"Online"
                    if (this.ClientList["當前狀態",i].Value.ToString().Trim() == "Online")
                    {
                        //=========== 如果終止時間+等待時間小於當前時間
                        if (Convert.ToDateTime(this.ClientList["結束時間", i].Value).AddSeconds(Convert.ToDouble(this.m_OnLine.Value)) < DateTime.Now)
                        {
                            this.ClientList["起始時間", i].Value = Convert.ToDateTime(this.ClientList["起始時間",i].Value).AddSeconds(Convert.ToDouble(this.m_OnLine.Value));
                            this.ClientList["結束時間", i].Value = Convert.ToDateTime(this.ClientList["結束時間",i].Value).AddSeconds(Convert.ToDouble(this.m_OnLine.Value));
                            continue;
                        }
                    }                    //=========== 如果狀態等於"Offline"
                    if (this.ClientList["當前狀態", i].Value.ToString().Trim() == "Offline")
                    {
                        //=========== 如果終止時間+等待時間小於當前時間
                        if (Convert.ToDateTime(this.ClientList["結束時間", i].Value).AddSeconds(Convert.ToDouble(this.m_OffLine.Value)) < DateTime.Now)
                        {
                            CreateTestLog(this.ClientList["主板條碼", i].Value.ToString(), this.ClientList["測試機臺", i].Value.ToString(), this.ClientList["測試工號", i].Value.ToString(), this.ClientList["起始時間", i].Value.ToString(), this.ClientList["結束時間", i].Value.ToString(), "F");
                            this.ClientList["當前狀態", i].Value = "fail";
                        }
                    }
                }
            }
        }