void _w_ProgressChanged(object sender, ProgressChangedEventArgs e) { TestIcsAsynReturn _data = e.UserState as TestIcsAsynReturn; AllReturnList.Add(_data); string _msg = string.Format("完成第{0}次测试,用时{1} ms", _data.Index, _data.UsedTimes); this.te_Result.AppendText(_msg + "\r\n"); }
void _w_DoWork(object sender, DoWorkEventArgs e) { int _threadIndex = (int)e.Argument; BackgroundWorker _worker = sender as BackgroundWorker; int _currentTimes = RunTimes--; while (_currentTimes > 0) { Random ran = new Random(); int RandKey = ran.Next(0, CSCount); string _cs = CSDataList[RandKey]; List <MD_GuideLineSimpleParam> _plist = new List <MD_GuideLineSimpleParam>(); foreach (string _s in _cs.Split(',')) { string[] _s1 = _s.Split('='); if (_s1.Count() > 1) { MD_GuideLineSimpleParam _p = new MD_GuideLineSimpleParam(); _p.ParameterName = _s1[0]; _p.ParameterValue = _s1[1]; _plist.Add(_p); } } string _xmlData = DataConvert.Serializer(typeof(List <MD_GuideLineSimpleParam>), _plist); int _ctime = Environment.TickCount; string _ret = DoTestICS(_xmlData); int _useTime = Environment.TickCount - _ctime; TestIcsAsynReturn _r = new TestIcsAsynReturn(); _r.Index = AllTimes - _currentTimes; _r.CallData = _cs; _r.ReturnData = _ret; _r.UsedTimes = _useTime; _worker.ReportProgress(0, _r); _currentTimes = RunTimes--; } e.Result = _threadIndex; }