2015-08-26 213 views
0

我這半年按鈕enter image description here按鈕釋放鼠標懸停出

之後,我按下一個按鍵,例如我按下設置它會打開一個新的窗口後,我關閉窗口按鈕處於按下狀態。 enter image description here

這裏是設置按鈕的代碼:

Private Sub btn_SETTINGS_MouseEnter(sender As System.Object, e As System.EventArgs) Handles btn_SETTINGS.MouseEnter 
    btn_SETTINGS.ForeColor = Color.White 

End Sub 

Private Sub btn_SETTINGS_MouseLeave(sender As System.Object, e As System.EventArgs) Handles btn_SETTINGS.MouseLeave 
    btn_SETTINGS.ForeColor = SystemColors.HotTrack 




End Sub 
Private Sub btn_SETTINGS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_SETTINGS.Click 
    OpenSettings() 
End Sub 

任何建議,我能做些什麼來解決這個問題。

+0

也許你的按鈕有一個簡單的焦點(我假設你在談論一個WinForms應用程序)? –

+0

我忘了提及我的應用程序是winForms應用程序,並且之後我的鼠標將我想按鈕被解壓縮 – user3223293

+0

其中一個答案在這裏http://stackoverflow.com/questions/148729/how-to-set-change-remove -c-style-on-a-button-in-c向你展示如何「解壓」你的按鈕。正如我告訴過你的,你的按鈕沒有按下。您正在使用「平面」樣式,並且具有焦點的按鈕以不同的邊框尺寸繪製。但請閱讀其他答案以獲取更多詳細信息。 –

回答

1

好的,這個問題似乎與Focus有關,當你按下它時,它被設置爲按鈕。解決這個問題非常簡單快捷,將控制的重點轉移到其他控制。在同一側,添加一個label控制,它是Hidden類型說lblHidden。所以當你在做下面的代碼時,改變焦點。

Private Sub btn_SETTINGS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_SETTINGS.Click 
    OpenSettings() 
    Me.ActiveControl = lblHidden 
End Sub 

這將改變焦點到隱藏的控制。但是,如果你正在做點擊事件按鈕的任何格式更改,然後恢復到原來在上面even.t

+0

好吧,但我得到一個錯誤「this.ActiveControl = lblHidden」 – user3223293

+0

@ user3223293你在表單中創建/添加標籤?並設置爲'False'的可見性屬性並將其命名爲'lblHidden'? –

+0

我收到一個錯誤'this'沒有聲明。由於其保護級別,可能無法訪問 – user3223293