예제 #1
0
        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);
            }
        }
예제 #2
0
        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());
            }
        }