我正试图检测一下Tab按键TextBox.我知道,Tab键不会触发KeyDown,KeyUp或KeyPress事件.我发现:在互联网上检测BlackWasp的Windows窗体中的Tab键.他们建议覆盖我所做的ProcessCmdKey,但它也不会被触发.有没有可靠的方法来检测Tab键按键?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
bool baseResult = base.ProcessCmdKey(ref msg, keyData);
if (keyData == Keys.Tab && textBox_AllUserInput.Focused)
{
MessageBox.Show("Tab key pressed.");
return true;
}
if (keyData == (Keys.Tab | Keys.Shift) && textBox_AllUserInput.Focused)
{
MessageBox.Show("Shift-Tab key pressed.");
return true;
}
return baseResult;
}
Run Code Online (Sandbox Code Playgroud)
根据Cody Gray的建议,我改变了代码如下:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Tab && textBox_AllUserInput.Focused)
{
MessageBox.Show("Tab key pressed."); }
if …Run Code Online (Sandbox Code Playgroud)