Control.ModifierKeys 不会在 Return/Enter 键上触发
我试图检测用户何时在 Winforms 文本框中按下 Return 键,但是当我使用 Keys.Enter 和/或 Keys.Return 时,下面的控制语句都不起作用。当我检测到其他键(例如 Alt 和 Shift)时,它确实起作用。我缺少什么?我得到的唯一模糊线索是我正在 MacBook 键盘(运行 Windows)上测试这一点,但这些键肯定是 100% 正确映射的吗?
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if ((Control.ModifierKeys == Keys.Enter))
{
btnOK_Click(null, null);
}
if ((Control.ModifierKeys & Keys.Return) != 0)
{
btnOK_Click(null, null);
}
}
I'm trying to detect when the user presses the Return key while in a Winforms textbox, but neither control statement below works when I use Keys.Enter and/or Keys.Return. It does work when I detect other keys such as Alt and Shift. What am I missing? They only vague lead that I have is that I'm testing this on a MacBook keyboard (running Windows), but surely those keys are mapped 100% correctly?
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if ((Control.ModifierKeys == Keys.Enter))
{
btnOK_Click(null, null);
}
if ((Control.ModifierKeys & Keys.Return) != 0)
{
btnOK_Click(null, null);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用:
Control.ModifierKeys
仅在按下 ctrl、alt、shift 时捕获!如果您只需要捕获按下“enter”而不按下任何键,请使用:
Try using:
Control.ModifierKeys
catch only if ctrl,alt,shift are pressed!if you need catch only 'enter' pressed w/o any key pressed use: