2013-01-02 85 views
0

我需要更改焦點上的BackColor按鈕。
現在我正在使用MouseOverBackColor < = 在一個按鈕。
當我通過鼠標對按鈕進行對焦時,其背景顏色更改爲銀色
當我通過tab鍵或.focus()從後面的代碼集中按鈕時,我想將它的背景顏色更改爲Silver
我應該使用哪個事件?
有人可以幫我嗎? 謝謝。更改窗口焦點時按鈕的BackColor

回答

0

您可以使用GotFocusLostFocusEnterLeave事件來實現此目的。

private void myBtn_GotFocus(object sender, EventArgs e) 
{ 
    myBtn.BackColor = Color.Silver; 
} 

private void myBtn_LostFocus(object sender, EventArgs e) 
{ 
    myBtn.BackColor = SystemColors.Control; 
} 
1

爲了保持一致,你可以同時擁有tabmouseover更改按鈕的顏色,當焦點在窗體上。

但是您需要覆蓋低級Got,LostFocus事件。

protected override void OnLostFocus(EventArgs e) 
{ 
    base.OnLostFocus(e); 
} 

protected override void OnGotFocus(EventArgs e) 
{ 
    base.OnGotFocus(e); 
} 

Reference