/// <summary> /// 计算结果返回事件 /// </summary> /// <param name="status">状态</param> /// <param name="message">信息</param> /// <param name="percent">百分比</param> /// <param name="value">具体数据数组</param> private void ResCalcReturn_Event(EnumResCalcStatus status, string message, double percent, double[] value) { if (status == EnumResCalcStatus.Done) { this.Invoke(new EventHandler(delegate { int len = value.Length; string log = string.Format("{0}个电阻并联最佳方案:{1}", len, ResValueFormat(value[0])); for (int i = 1; i < len; i++) { log += @" // " + ResValueFormat(value[i]); } log += string.Format(" = {0:#.###}", ResValueFormat(ResCalc.CalcParallel(value))); txtOutput.AppendText(log + "\r\n"); if (percent >= 100) { txtOutput.AppendText(message); } })); } else if (status == EnumResCalcStatus.Error) { this.Invoke(new EventHandler(delegate { txtOutput.AppendText(message); })); } this.Invoke(new EventHandler(delegate { progressBarResCalc.Value = Convert.ToInt32(percent) % (progressBarResCalc.Maximum + 1); })); }