2017-02-08 26 views
-1

我希望能夠突出顯示頁面上的選定項目,因爲它很繁忙,而且還有很多事情要做。用戶不能訪問他們的鼠標,只能使用鍵盤,所以他們現在快速地通過按鈕選擇並輸入他們需要做的事情(如果你必須知道的話,這是一種快速的數據輸入類應用程序)。如何在我的Windows窗體應用程序中突出顯示所選項目(選項卡索引位置)?

我希望能夠突出顯示所選按鈕(因此,當您通過當前選項卡時它會選擇一個按鈕,但它不是很明顯,選擇時它只是有一個輕微的邊框)。

我知道你可以使用focusEnter和focusLeave事件,但是我想避免這種情況,如果可能的話只是因爲頁面上有這麼多的按鈕,我將不得不使用幾乎所有的重複事件相同的代碼。

+0

這究竟是什麼你想要的? – NicoRiff

+0

您可以也應該爲所有按鈕使用兩個__common__事件處理程序來處理focusEnter和focusLeave事件!使用(按鈕)發件人參數來訪問按鈕 – TaW

回答

0

可以和應該使用Enter只是兩個普通事件處理程序和Leave事件所有的按鈕!

使用sender參數去訪問按鈕:

private void buttons_Leaveobject sender, EventArgs e) 
{ 
    ((Button)sender).BackColor = SystemColors.Control; 
    ((Button)sender).ForeColor = SystemColors.ControlText; 
} 

private void buttons_Enter((object sender, EventArgs e) 
{ 
    ((Button)sender).ForeColor = SystemColors.Control; 
    ((Button)sender).BackColor = SystemColors.ControlText; 
} 

使用有關如何突出聚焦按鈕你自己的想法;這是一個有點過分IMO ..: 與FlatAppearance當然enter image description here

按鈕可以自己因爲他們有他們的狀態不同的顏色做了強調所有。

0

我建議創建自己的類,從Button派生,然後自己處理背景畫。這將允許你玩背景的外觀/顏色和/或邊界效果。

相關問題