private void OnCurWaChanged() { curExprList = new List <CExpression>(); string errmsg; foreach (WeightFormula wf in curWa.FormulaList) { CExpression expr = CExpression.Parse(wf.Formula, out errmsg); if (expr == null) { string outmsg = "公式\"" + wf.Formula + "\"错误:" + errmsg; XLog.Write(outmsg); MessageBox.Show(outmsg); return; } curExprList.Add(expr); } curWaParas = curWa.GetParaList(); dataGridViewParaInput.Rows.Clear(); foreach (WeightParameter wp in curWaParas) { dataGridViewParaInput.Rows.Add(new object[] { wp.ParaName, wp.ParaValue, wp.ParaUnit, WeightParameter.ParaTypeList[wp.ParaType], wp.ParaRemark }); } btnCompute.Enabled = true; flowLayoutPanelParaImport.Enabled = true; flowLayoutPanelParaExport.Enabled = true; }