public List <string> ResultList() { List <string> list = new List <string>(); foreach (var dNode in _listFlowNode) { if (dNode.Kind != NodeKinds.Distribute) { continue; } double result = 0; string rltStr = ""; foreach (var node in dNode.ListFlowNode) { string subStr = ""; double subRst = 0; if (node.Kind == NodeKinds.ConstantPayload) { ConstantPayloadNode cpn = (ConstantPayloadNode)node.SubControl; double constant = Convert.ToDouble(cpn.Constant()); double para = Convert.ToDouble(cpn.Parameter()); subRst = constant * para; subStr = cpn.Constant() + "X" + cpn.Parameter(); } else if (node.Kind == NodeKinds.FlexiblePaylaod) { FlexiblePayloadNode fpn = (FlexiblePayloadNode)node.SubControl; double constant = Convert.ToDouble(fpn.Constant()); double para = Convert.ToDouble(fpn.Parameter()); double para2 = Convert.ToDouble(fpn.Parameter2()); subRst = constant * para * para2; subStr = fpn.Constant() + "X" + fpn.Parameter() + "X" + fpn.Parameter2(); } result += subRst; if (rltStr == "") { rltStr = subStr; } else { rltStr = rltStr + "+" + subStr; } } rltStr = rltStr + "=" + result.ToString(); DistributeNode dn = (DistributeNode)dNode.SubControl; string coeAStr = dn.Coefficient(); double rstA = result * Convert.ToDouble(coeAStr); string strA = "A " + result.ToString() + "X" + coeAStr + "= " + "" + rstA.ToString(); string coeBStr = dn.Coefficient2(); double rstB = result * Convert.ToDouble(coeBStr); string strB = "B " + result.ToString() + "X" + coeBStr + "= " + "" + rstB.ToString(); string coeCStr = dn.Coefficient3(); double rstC = result * Convert.ToDouble(coeCStr); string strC = "C " + result.ToString() + "X" + coeCStr + "= " + "" + rstC.ToString(); list.Add(rltStr); list.Add(strA); list.Add(strB); list.Add(strC); } _result = list[0]; _a = list[1]; _b = list[2]; _c = list[3]; return(list); }