问题简述:
界面上有一个DataGridView表格,其中第二列列头名称为宽度因子,要求用户在输入宽度因子时,只能输入(0-1]之间的数值。
解答:
使用CellValidating()事件,代码如下:
private void GridViewPers_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.RowIndex < 0 || e.FormattedValue.IsNullOrEmpty())
return;
double value;
bool flag = double.TryParse(e.FormattedValue.ToString(),out value);
if ( e.ColumnIndex == 1)
{
if (!flag || flag && (value<= 0||value>1))
{
MessageBox.Show("宽度因子必须为大于0小于等于1的数值");
e.Cancel = true;
}
}
}
结果图: