dataGridView中如何在某一单元格输入内容回车后,焦点移动到右侧单元格? 默认是到下方单元格在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dataGridView中如何在某一单元格输入内容回车后,焦点移动到右侧单元格? 自己捕获回车事件,转化为tab事件。http://community.csdn.net/Expert/topic/5094/5094417.xml?temp=.7949945 "单元格在编辑状态下回车" 这个事件是在那里发生的?我拦截不住重写ProcessKeyPreview可以处理回车以外的其他按键PreProcessMessageWndProc中都不能获得单元格中的回车 获得回车键if(event.keycode=='13') 捕捉到回车键之后,再把焦点移动到指定的位置就可以了document.getElementById("你要移到的控件ID").focus(); 不好意思。试试这个。KeyEventArgs oKeyEventArgs = new KeyEventArgs(keyData); if (this.ActiveControl.GetType().Name.Equals("DataGridViewTextBoxEditingControl")) { if (oKeyEventArgs.KeyCode == Keys.Enter) { MessageBox.Show("Enter"); } } protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if ((!(ActiveControl is Button)) && (keyData == Keys.Up || keyData == Keys.Down || keyData == Keys.Enter)) { if (keyData == Keys.Enter) { System.Windows.Forms.SendKeys.Send("{TAB}"); return true; } if (keyData == Keys.Down) System.Windows.Forms.SendKeys.Send("{TAB}"); else SendKeys.Send("+{Tab}"); return true; } else return base.ProcessCmdKey(ref msg, keyData); } } 谢谢 Qim(莫名) 和其他朋友我用的是DataGridView 好像没有ProcessCmdKey我以前用dataGrid确实可以使用ProcessCmdKey 呵呵,这次有了,不知道为什么以前没有ProcessCmdKey方法重写 C#视频服务器调用C++写的dll问题 怎样清空datagridview中的数据 C#textbox控件中只允许输入整数的问题 WCF 引用TCP地址时出错 怎么把自己写的类注册到系统中,程序直接调用呢? C#里怎样判断你输入的是大写字母?小字字母?数字?汉字还是其它的东东 好久没来了,工作太忙,冒个头,顺便散分~~ @ c#创建xml文件的问题,(vml)!! up有分!!! 初学者问题 我的.net无法建立project,是什么原因! 如何wmp9.0播放器的声卡选择 把图片放进剪贴板之后再取出来;背景色与原图完全不一样
http://community.csdn.net/Expert/topic/5094/5094417.xml?temp=.7949945
WndProc
中都不能获得单元格中的回车
if(event.keycode=='13')
document.getElementById("你要移到的控件ID").focus();
KeyEventArgs oKeyEventArgs = new KeyEventArgs(keyData);
if (this.ActiveControl.GetType().Name.Equals("DataGridViewTextBoxEditingControl"))
{
if (oKeyEventArgs.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter");
}
}
{
if ((!(ActiveControl is Button)) && (keyData == Keys.Up || keyData == Keys.Down || keyData == Keys.Enter))
{
if (keyData == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{TAB}");
return true;
}
if (keyData == Keys.Down)
System.Windows.Forms.SendKeys.Send("{TAB}");
else
SendKeys.Send("+{Tab}");
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
}
}