比如只允许输入数字
要求:验证错误后焦点不离开
有两种方法:
datagridview.editingcontrolshowing 事件和datagridview.cellvalidating 事件。
(1) datagridview.editingcontrolshowing 事件。
显示用于编辑单元格的控件时发生,命名空间: system.windows.forms
程序集: system.windows.forms(在 system.windows.forms.dll 中)。
如:
void dgvcs_editingcontrolshowing(object sender, datagridvieweditingcontrolshowingeventargs e)
{
e.cellstyle.backcolor = color.aquamarine;//设置编译时的颜色
control = new textbox();
control = (textbox)e.control;
control.keypress += new keypresseventhandler(txt_keypress);//
}
然后在txt_keypress这里进行验证。
(2) datagridview.cellvalidating 事件。
在单元格失去输入焦点时发生,并启用内容验证功能。命名空间: system.windows.form,程序集: system.windows.forms(在 system.windows
.forms.dll 中)
备注:
验证不通过时调用e.cancel = true,终止事件链,单元格将保持编辑状态。
调用dgv_details.canceledit();可以使单元格的内容会滚到修改前的值。
使用system.windows.forms.sendkeys.send("^a");将全选单元格的内容。
如:
void dgv_cellvalidating(object sender, datagridviewcellvalidatingeventargs e)
{
decimal tmp = 0.0m;
if (!decimal.tryparse(e.formattedvalue.tostring(), out tmp))//是否是数字
{
if (e.formattedvalue != null && e.formattedvalue.tostring().length != 0)
{
devcomponents.dotnetbar.messageboxex.show("请输入有效数字!", "提示");
e.cancel = true;
}
}
}
这两种方法都能验证。第一种方法当按键按下时(即当编译时)就去验证,而第二种方法是当焦点离开单元格编译区域时触发。所以个人感觉第一种方法更优一点。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔