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