怎样为dataGridView控件的某栏设置只允许输入数字和小数点? 如题。有个dataGridview1,我已设置其ReadOnly属性为false,这样绑定数据源后就可以编辑其中的内容,但现在有的栏只允许输入数字、小数点,不能敲入文本。我知道像TextBox之类的控件可以用KeyPress()事件来加以控制,不知道dataGridView这样的控件如何设置?另外想知道可以为某栏设置其ImeMode属性吗?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 限制字符的类型可以由正则实现。 string pattern = @"^[0-9.]*$"; Regex regex = new Regex(pattern); if (regex.IsMatch(inputValue)) { MessageBox.Show("可以输入"); } else { MessageBox.Show("格式有误"); } 如果你的数据源类型就是float或double的话,datagridview会自动限定,否则就用datagridview中的rowvalidating或者cellvalidataing事件去处理吧。 private void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { dgv.Rows[e.RowIndex].ErrorText = ""; float newfloat; if (this.dgv.Rows[e.RowIndex].IsNewRow) { return; } if (e.ColumnIndex == 6) { if (!float.TryParse(e.FormattedValue.ToString(),out newfloat) || newfloat < 0) { e.Cancel = true; this.dgv.Rows[e.RowIndex].ErrorText = "输入的不是数字"; Interaction.MsgBox("输入的不是数字",MsgBoxStyle.Information,"提示"); } }} Socket 异步接收丢包问题(有代码) reflector 反编译的问题。 String.InNullOrEmpty的性能问题 系统服务问题 Win32_NetworkAdapterConfiguration是表吗?谁能帮我解释一下? c#想弄个自动改卷功能 弱弱的问:VISUAL STUDIO2005工具箱中,哪个工具有下拉菜单工能 水晶报表打开出错(未能打开该连接。 详细资料: [数据库厂商代码:17]) C# 中的继承问题,和多文件引用? 请问如何在DataTable中查询符合条件的某一行? 模拟软键盘 点击软键盘TextBox中的光标总在最前面 关于窗体中判断弹出重复的问题
Regex regex = new Regex(pattern);
if (regex.IsMatch(inputValue))
{
MessageBox.Show("可以输入");
}
else
{
MessageBox.Show("格式有误");
}
{
dgv.Rows[e.RowIndex].ErrorText = "";
float newfloat;
if (this.dgv.Rows[e.RowIndex].IsNewRow) { return; } if (e.ColumnIndex == 6)
{ if (!float.TryParse(e.FormattedValue.ToString(),out newfloat) || newfloat < 0)
{
e.Cancel = true;
this.dgv.Rows[e.RowIndex].ErrorText = "输入的不是数字";
Interaction.MsgBox("输入的不是数字",MsgBoxStyle.Information,"提示");
}
}
}