DataGridView中回车键的妙用

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

为了做到这样,你能使用派生自DataGridView的类 :
public class Grid : 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).
0
0
(请您对文章做出评价)
« 上一篇:如何去除C#Strings中的空格?
» 下一篇:Convert的妙用
posted @ 2008-04-15 10:16 Lucky Jack 阅读(1169) 评论(7)  编辑 收藏 所属分类: tips, c#

  回复  引用  查看    
#1楼2008-04-15 10:17 | 李战      
好,支持,学习。


  回复  引用  查看    
#2楼[楼主]2008-04-15 10:23 | Lucky Jack      
@李战
谢谢,共同学习

  回复  引用  查看    
#3楼2008-04-15 12:21 | 留恋星空      
mark
  回复  引用    
#4楼2008-04-15 13:15 | 博主[未注册用户]
@留恋星空
谢谢支持,呵呵

  回复  引用    
#5楼2008-04-15 18:57 | yanli[未注册用户]
好,非常有用。
  回复  引用  查看    
#6楼[楼主]2008-04-15 19:39 | Lucky Jack      
@yanli
呵呵,这正是此文之意义!

  回复  引用  查看    
#7楼2008-06-21 16:22 | StephenJu      
这个实现的是向下换行吧,焦点在同一列上,不能横向移动吧,然后到行最后单元格了再换到下一行吧????????