【发布时间】:2017-03-30 13:22:08
【问题描述】:
如果用户按下回车键,我正在尝试捕捉Event。如果按照MSDN documentation pages 上的这些说明进行操作。
这是我的Event 代码Textbox:
Private Sub tbOccurrenceElevation_KeyDown(sender As Object, e As KeyEventArgs) Handles tbOccurrenceElevation.KeyDown
' Check if the enter key is pressed
If e.KeyCode = Keys.Return Then
OccurrenceElevation_Changed()
End If
End Sub
我的问题是:当我按下键盘上的任何按钮时,Event 被触发,但是当我按下回车键(返回)时没有任何反应?
我尝试将Textbox 属性更改为AcceptsReturn = True,但没有成功。
额外信息:文本框位于 UserControl 而非表单控件上。
【问题讨论】:
-
我做了一个快速测试。如果文本框在用户控件中并且在包含该控件
AcceptButton的表单中已设置,则在按下回车键时它不会触发事件 -
Euhmm 用户控件已添加到 Autodesk Inventor 的可停靠窗口对象中。那么我猜这会导致问题吗?
-
有可能。我猜父窗口正在捕获 enter press 事件,所以它不会由您控制。
-
尝试使用 RichTextBox 我遇到了类似的问题,我使用 RichTextBox 而不是简单的文本框。简单的文本框无法在 UserControl 中捕获键盘事件,但 RichTextBox 可以。