2015-06-14 111 views
1

(我會在這裏說你好,但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按鈕,而邊框是藍色的。如果在這個階段我要進入,表格將會關閉。

最後,或TL; DR,我該如何阻止我的關閉按鈕被關注?當按下回車鍵時,如何停止觸發按鈕? (專注)

+0

嘗試增加'接受tab = FALSE'你當關閉按鈕的形式負載。我認爲焦點是包含在按鈕順序中的按鈕的結果? –

回答

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