我试图检测用户是否在文本框中按 ENTER 键,如果是,则将焦点移至按钮,而不执行单击按钮。到目前为止,我发现检测 ENTER 键的唯一方法是使用 PreviewKeyDown 事件。现在我可以检测到 ENTER 键,但是当将焦点更改到该按钮时,它会触发 Click 事件。在正常的 KeyDown 事件中,我可以使用“e.handled = true / false”,但是如何在 PreviewKeyDown 事件中执行此操作?
尝试这个:
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.IsInputKey = true;
button1.Focus();
}
}
Run Code Online (Sandbox Code Playgroud)
另外,为了减少声音效果,您可以使用以下事件监听器
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyValue == 13)
{
e.SuppressKeyPress = true;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |