DataGridView在Cell编辑状态响应回车键下的KeyPress/KeyDown/KeyUp事件
我们知道由于DataGridView的单元格DataGridCell处于编辑的时候,当你按Enter键,那么DataGridView是不会激发KewPress/KeyDown/KeyUp这些事件的,因为这个时候的DataGridView是一个容器。
如果我们需要做一些事情,比如在DataGridCell中输入值后需要对其验证,如这位朋友遇到的这个问题:
http://social.msdn.microsoft.com/Forums/zh-CN/visualcshartzhchs/thread/2cc22c92-4771-4af4-89cc-c036cd8b556c 他的需求是:
在DataGridView 单元格编辑状态时
按回车时 判断这个单元格的内容是否确定
如果正确光标进入下一行对应的列的单元格中
如果不正确光标还是停留本单元格中
我们无法直接在DataGridView的KeyPress事件中做处理,原因上面已经说明,也无法使用CellEndEdit这个事件,因为这个事件不一定是通过Enter来触发的,直接鼠标移动到其他单元格也会的,因此我们需要修改一下:

然后将这个控件拖到窗体中 添加KeyPress事件

当然为了保证用户直接将鼠标移动到新的单元格也能做数据的核对,我们还需要添加对这个控件的CellEndEdit事件的处理:

DataGridView在Cell编辑状态响应回车键下的KeyPress/KeyDown/KeyUp事件的更多相关文章
- Winform下KeyDown,KeyPress,KeyUp事件的总结(转)
原文: http://www.cnblogs.com/xiashengwang/archive/2011/09/15/2578798.html 在winform程序中,经常会用到这几个事件用于控制数字 ...
- 解决输入git branch 进入编辑状态,mac下出现END,无法返回
core.pager指定 Git 运行诸如log.diff等所使用的分页器,你能设置成用more或者任何你喜欢的分页器(默认用的是less), 当然你也可以什么都不用,设置空字符串: git conf ...
- Datagridview强制结束编辑状态
DirectCast(dgvTab1.CurrentRow.DataBoundItem, DataRowView).EndEdit() dgvTab1.CommitEdit(DataGridViewD ...
- 【转】Winform下KeyDown,KeyPress,KeyUp事件的总结
http://blog.csdn.net/xiashengwang/article/details/6777907
- iOS开发UI篇-tableView在编辑状态下的批量操作(多选)
先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...
- datagrid combobox事件更新编辑状态下的datagrid行
请问如何从上图状态 点击下拉的combobox中值然后在不取消datagrid编辑状态下更新这一行另一列的数据,达到下图这样的效果: 非常感谢! 给你的combobox 绑定一个onSelect 事 ...
- ubuntu中vi在编辑状态下方向键不能用的解决
ubuntu中vi在编辑状态下方向键不能用,还有回格键不能删除等,我们平时习惯的一些键都不能使用. 解决办法: 可以安装vim full版本,在full版本下键盘正常,安装好后同样使用vi命令. 安装 ...
- DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态
本文转载:http://www.cnblogs.com/Johnny_Z/archive/2012/02/12/2348235.html Winform中的DataGridView数据绑定控件有时会用 ...
- easyui 在编辑状态下,动态修改其他列值。
首先是自定义了一个方法uodateColumn更新列值 /** *自定义的修改列值方法 */ $.extend($.fn.datagrid.methods, { updateColumn: funct ...
随机推荐
- python - 增强的格式化字符串format函数
语法 它通过{}和:来代替%. “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.form ...
- C# 使用DateTime.TryParseExact将自定义日期类型转换成日期
在C#中如果将一个字符串类型的日期转换成日期类型很方便的 即使用Convert.ToDateTime("2015/01/01").ToString()或DateTime.TryPa ...
- OAuth 2.0 RFC 框架 中文
Internet Engineering Task Force (IETF) D. Hardt, Ed.Request for Comments: 6749 MicrosoftObsoletes: 5 ...
- [Backbone]3. More detail on View
Change the AppointmentView to have a top-level li tag (instead of the default div tag). var Appointm ...
- C语言:strcpy()和memcpy()
一.strcpy和memcpy都是标准C库函数,它们有下面的特点: 1.strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. ...
- oracle connect nocycle
select * from uc_staff_department_level t,uc_t_staff stwhere st.id=t.staff_idand t.department_id in ...
- MFC画图总结-DIB图形绘制
參考文档: http://blog.csdn.net/hnust_xiehonghao/article/details/37652927 http://blog.sina.com.cn/s/blog_ ...
- JavaScript 之 对象和数组
一:对象 说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON.是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型 ...
- python之函数用法round()
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法round() #http://www.cnblogs.com/hongfei/p/3 ...
- CAS 5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明
CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...