.Net 2.0 DataGridView中键盘事件处理方法
来源:互联网 发布:mysql 派生表优化 编辑:程序博客网 时间:2024/05/05 14:48
.Net 2.0中的DataGridView比前期版本的DataGrid功能强多了,但本人还是觉得有不足的地方。比如说其DataGridViewButtonColumn列,像这样的列好像在本人开发过的系统中没有太多的用(最重要的还是不能在其上编辑,可能是没找到方法吧,再研究)。还有DataGridViewComboBoxColumn列,看起来比较漂亮,将其放在实际中,其实下拉的基本是列表或弹出一Form进行选择,但还是有问题。得到的结果要是DataGridViewComboxColumn列中的值,如果不是就会报错。还不可编辑(可能是没找到方法,再研究,找到了再继续发贴)。与以前VB6/VC6等中第三方组件开发商ComponentOne公司开发的True DB Grid还是要差点。
下面主要介绍研究成果:.Net 2.0中的键盘事件。
.Net 2.0中的键盘事件,研究了好久,只发现这两种 :一种是DataGridView键盘事件,另一种是列键盘事件。
第一种、DataGridView中键盘事件处理方法。此方法的使用与一般控件的方法相同。操作也比较简单。这种在DataGirdView中的事件用来操作比如删除一列啦,添加一列啦,还有插入一列啦什么的。键盘事件基本就三个:KeyDown,KeyPress,KeyUp三个事件,这里我只介绍一个,其他的都是相同的。简单介绍如下:
注:以下示例语句的DataGridView名为dgvDetails.
委托方法:
this.dgvDetails.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.dgvDetails_KeyPress);
方法:
private void dgvDetails_KeyPress(object sender, KeyPressEventArgs e)
{
//想怎么操作在这时处理
}
第二种、就是DataGridView中列的事件,这种事件放在DataGridView中,开始本人用KeyPress来控件输入的数据为数字,其他的输入不进去。怎么搞都不行。不好意思,本人系统没有Help。因软件是网友送的,没送Help。摸了好久,才发现有这么个方法来实现。列的事件主要用来操作列中的数据。比如说:电话号码,数量,金额啊什么的。和大家分享研究成果。
首先,要先定义一个Class级的变量(放在Form内,可别放在外面),
private DataGridViewTextBoxEditingControl EditingControl;
其次,添加EditingControlShowing事件委托
this.dgvDetails.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(this.dgvDetails_EditingControlShowing);
第三步,定义委托的方法:
private void dgvDetails_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
EditingControl = (DataGridViewTextBoxEditingControl)e.Control;
EditingControl.KeyPress += new KeyPressEventHandler(EditingControl_KeyPress);
}
注:加粗的地方很重要,主要是针对列的事件,这里才是正题。
第四步,定义列的委托方法啦,引用以其他控件引用完全相同。
private void EditingControl_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) ) e.Handled = true;
}
- .Net 2.0 DataGridView中键盘事件处理方法
- .Net 2.0 DataGridView中键盘事件处理方法
- .Net 2.0 DataGridView中键盘事件处理方法
- EXT中键盘触发事件的处理
- ActionScript中键盘事件的处理
- Java Swing中键盘事件的处理
- vue中键盘事件的处理
- ASP.Net中使用键盘触发事件
- DataGridView属性、方法、事件
- DataGridView 处理网格中其他控件事件 (Combobox)
- swing键盘事件处理
- 键盘事件处理
- 处理键盘事件
- js处理键盘事件
- 处理键盘事件
- JS处理键盘事件
- ios 键盘事件处理
- 处理键盘弹出事件
- 怎样修改对话框的颜色
- 如何卸载mysql服务
- 诫烟已仨月
- 在大学里值得娶回家的女生
- 第四课 面向对象编程(二)
- .Net 2.0 DataGridView中键盘事件处理方法
- [转贴]关于Debug和Release之本质区别
- Qtopia OpenSource 4.2.0 在s3c2410上的移植(参考修改)
- SQL中char、varchar、text和nchar、nvarchar、ntext的区别
- t
- js
- TD-RNC之OMU操作维护系统介绍
- ASP.NET:Response.ContentType 详细列表
- 页面防盗链和水印的实现方法