在 WinForms 表单中有一个TextBox
控件(准确地说是DevExpressTextEdit
),如果焦点在文本框内,我不希望在用户按下回车键时关闭表单。
我想
filterTextBox.KeyDown +=
(sender, e) =>
e.Handled = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;
就足够了,但它似乎被忽略并且表单仍然关闭。
我的问题是:
如何故意忽略单行文本框控件内的输入以使表单保持打开状态?
解决方案
Botz3000 的解决方案对我有用:
filterTextBox.PreviewKeyDown +=
(sender, e) =>
e.IsInputKey = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;
filterTextBox.KeyDown +=
(sender, e) =>
e.Handled = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;