datagridview中想用按Enter键代替tab键实现光标一个一个单元格的移动,而且到了最后一列的时候让他下移到下一行,中间只读的列单元格要忽略。就这一功能,我网上都找遍了都不行,根本达不到以上的要求,(有的还给分了,不解,可能环境不一样吧)

    虽然今天我已经实现了那个功能,但是也是在网上那些高手中的代码改改成功的,代码如下

      

 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
                if (keyData == Keys.Enter)
                {
                    SendKeys.Send("{Tab}");  //执行tab键
                    for (int i = 0; i < dataGridView1.Columns.Count; i++)
                    {
                        if (dataGridView1.Columns[i].ReadOnly == true)  //判断如果只读则执行tab键功能跳过去
                        {
                            SendKeys.Send("{Tab}");

                        }

                    }
                    return true;
                }

                return base.ProcessCmdKey(ref msg, keyData);

            } 

 

 只要重写Form中的ProcessCmdKey方法即可

posted on 2012-07-02 14:59  懒胖gg  阅读(807)  评论(0编辑  收藏  举报