我有一个 .net WinForm 对话框,它显示一些 TextBoxes(其中一些是Multiline)、一个标记为AcceptButton的按钮和一个标记为CancelButton的按钮。
当您按下返回键时,AcceptButton的 onClick 事件被触发并且对话框关闭。
问题是即使用户尝试在多行文本框中插入新段落,也会触发 onClick 事件。防止表单关闭的唯一方法是按 CTRL + Return。
这显然是 WinForm TextBox 控件的一个错误。例如,DataGridView 正确地捕获了 Return 键并且不会将其传递给 WinForm 对话框。
Treid Select(),Focus(),覆盖PreProcessMessage,ProcessKeyMessage(奇怪的是甚至不触发)。没运气。