datagridview中用Enter代替tab实现焦点切换,可换行

     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方法即可

你可能感兴趣的:(datagridview)