关于C#的Form_KeyPress和ProcessCmdKey
在Form中,想实现按Enter键来实现Tab键的功能,我在Form中加了如下代码:
private void I01Frm03_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
ProcessTabKey(true);
}
}
但是没有作用,但是我覆盖了ProcessCmdKey函数:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter && !btn_return.Focused && !btn_run.Focused)
{
System.Windows.Forms.SendKeys.Send("{tab}");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
便实现了。
请高手们告诉我原因,并告诉我ProcessCmdKey的作用,不胜感激!