按下回车键时如何停止触发按钮? (重点)

How do I stop a button from triggering when the enter key is pressed? (focused)

(我会在这里打个招呼,但 Whosebug 总是出于某种原因将其删除)
我的问题是,在我的 Visual Basic 窗体上,我用来关闭窗体的按钮可以由回车键触发。这是一个问题,因为我的表单打开了一个经常使用表单的网页,这意味着表单上的回车键将关闭 window!

因此,我需要找到一种方法来停止对该按钮的关注。它是一个自定义按钮并且是它自己的 class 但继承自普通按钮。这是一些图表:

第一阶段:在用户关注WebKitBrowser

之前

第二阶段:用户关注WebKitBrowser后



如您所见,该按钮 "focused" 带有白色边框,类似于边框为蓝色的普通 Windows 按钮。如果我在这个阶段按回车键,表单就会关闭。

总之,或者 TL;DR,我如何阻止我的关闭按钮被聚焦?

默认情况下,您的按钮包含在产生焦点效果的 Tab 键顺序中。

尝试从 Tab 键顺序中删除该按钮。您可以在加载表单时将按钮的 TabStop 设置为 False。我尝试了下面的示例,它对我有用。

之前

代码:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
End Class

之后

代码:

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.Close()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Button1.TabStop = False
End Sub

结束Class