private void GetPathAndCalc(string[] pathTab, string[] nameTab) { int i = 0; CalcSampleDelegate calcSampleDel = new CalcSampleDelegate(CalculateSample); foreach (string path in pathTab) { sampleName = nameTab[i++]; IAsyncResult calcSampleRes = calcSampleDel.BeginInvoke(path, new AsyncCallback(CallBack), sampleName); } }
public void CallBack(IAsyncResult asRes) { AsyncResult result = (AsyncResult)asRes; CalcSampleDelegate calcSampleDel = (CalcSampleDelegate)result.AsyncDelegate; TextBox1Delegate textDel = new TextBox1Delegate(DisplayResults); try { double factor = calcSampleDel.EndInvoke(asRes); string sampleName = (string)result.AsyncState; textBox1.Dispatcher.Invoke(textDel, "\n" + sampleName.Remove(sampleName.LastIndexOf('.')) + "\t" + factor); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }