C# 如何禁用一个按键

5

当用户按下“ENTER”键时,我该如何防止光标跳到文本框的下一行?换句话说,如何禁用文本框中的“ENTER”或“RETURN”键?

2个回答

12

你可以编写 OnKeyDown 事件。你可以使用 e.SuppressKeyPress 来告诉 .NET 你已经处理了该键。就像这样:

if (e.KeyCode == Keys.Enter) {
    e.SuppressKeyPress = true;
}

即使对于这种特定情况不是最佳方法,如果提供了有用的一般信息,则为其加1分。 - Davy8
哇,回复好快啊...这比其他论坛(不想说是哪些)要好得多,那些地方人们会侮辱那些提问的人。谢谢,谢谢。 - Yellow_Yackets
KeyPressEventArgs 没有包含 SuppressKeyPress... 我正在使用 OnKeyPress 事件。 - Yellow_Yackets
如果你想要抑制按键,你需要使用OnKeyDown。 - Jedi Master Spooky

6

看一下TextBox.AcceptsReturn


有没有办法在RichTextBox上实现这个功能? - Yellow_Yackets
很抱歉,不行。但是你可以像绝地大师Spooky建议的那样重写OnKeyDown方法。 - Jakob Christensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接