Example #1
0
        private void sensorParamsGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            string key   = sensorParamsGrid[e.ColumnIndex - 1, e.RowIndex].Value.ToString();
            string value = sensorParamsGrid[e.ColumnIndex, e.RowIndex].Value.ToString();
            double val;

            FormMain.ParamDesc paramDesc = sensorParamTable[key];
            if (paramDesc.isStrItem())
            {
                if (paramDesc.getStrList().Contains(value) == false)
                {
                    MessageBox.Show(this, "输入值不合法: " + paramDesc.getFormat());
                }
            }
            else
            {
                if (double.TryParse(value, out val) == false)
                {
                    MessageBox.Show(this, "输入值不合法");
                    sensorParamsGrid[e.ColumnIndex, e.RowIndex].Value = paramDesc.getValue();
                    return;
                }

                if (val < paramDesc.getMin() || val > paramDesc.getMax())
                {
                    MessageBox.Show(this, String.Format("输入值超出范围 [{0},{1}]", paramDesc.getMin(), paramDesc.getMax()));
                    sensorParamsGrid[e.ColumnIndex, e.RowIndex].Value = paramDesc.getValue();
                    return;
                }
            }
        }