当按下回车键时如何停止触发按钮? (聚焦)

时间:2015-06-14 16:49:05

标签: vb.net forms button focus

(我会在这里问好,但Stackoverflow总是因某种原因删除它)
我的问题是,在我的Visual Basic窗体上,我用来关闭表单的按钮可以通过回车键触发。这是一个问题,因为我的表单会打开一个经常使用表单的网页,这意味着表单上的回车键将关闭窗口!

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

阶段1:在用户关注WebKitBrowser之前

Stage 1: Before the user focuses on the WebKitBrowser

阶段2:用户关注WebKitBrowser后

Stage 2: After the user focuses on the WebKitBrowser

正如您所看到的,该按钮是“聚焦”的,带有白色边框,类似于普通的Windows按钮,其中边框为蓝色。如果我在这个阶段按Enter键,表格将会关闭。

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

1 个答案:

答案 0 :(得分:1)

默认情况下,您的按钮包含在选项卡顺序中,从而产生焦点效果。

尝试从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

enter image description here

<强>后

代码:

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

结束班

enter image description here