DataGridView中回车键的妙用

转至:http://www.cnblogs.com/yangjie5188/archive/2008/04/15/1153925.html

DataGridView中回车键的妙用

  在NET 中DataGridView是 一个很好的控件,它提供了一个用于输入数据和显示数据的自定义表.如果你在你的程序中提供 DataGridView作为用户输入多行数据的一种方式,你或许希望重新定义一下回车键的默认操作.
假定, 当你在DataGridView中按下回车键时,这个光标会移动到相同列的 所在单元格下面的单元格(下图红色箭头所示),但是当输入多行数据时,更好的响应回车键的方式是移动到下一行的第一个单元格中(蓝色箭头).

为了做到这样,你能使用派生自 DataGridView的类 :

public class Grid : Inherits System.Windows.Forms.DataGridView

{
然后覆写(override) 这个 OnKeyUp受保护的方法:

protected   override   void  OnKeyUp( KeyEventArgs e )
{
    
if  (e.KeyCode  ==  Keys.Enter)
    {
        
int  currentRow  =   this .CurrentRow.Index;
        
if  (currentRow  >=   0 )
            
this .CurrentCell  =   this .Rows[currentRow].Cells[ 0 ];
    }
    
base .OnKeyUp( e );
}
当然 , 如果你希望在已存在的 DataGridView提供这种能力, 你能简单的签名 KeyUp事件并且执行上面相同的代码在这个事件处理程序中(event handler).