2012-09-07 26 views
2

我目前正在使用DevExpress控件在C#windows應用程序中工作。 現在我想在加載表單時改變條形按鈕項的背部顏色。 我試過下面的代碼:如何更改BarButtonItem的背色?

barButton.Appearance.BackColor = Color.Red; 

但欄按鈕背景色不會變爲紅色。

回答

2

默認情況下,小節使用skins來繪製其內容。在這種情況下,所有背景色都由特定的外觀元素提供,這些元素不能更改。更改特定項目背景顏色的唯一方法是禁用外觀: 將BarAndDockingController組件放置到窗體上,並將其分配給BarManager.Controller屬性。將BarAndDockingController.PaintStyleNameLookAndFeel設置爲任何非皮膚樣式(例如「平面」)。然後使用Bar.Appearance.BackColor屬性設置所需的顏色。

或者,您可以按照類似於How to change the background color of highlighted links知識庫文章中所述的方式創建自己的自定義barItem。

+0

感謝您的回答。 – Vinoth

+0

@Vinoth:你總是受到歡迎。但是[如果答案是正確的,你應該總是接受答案,而不是感謝](http://stackoverflow.com/faq#howtoask))) – DmitryG

+4

爲什麼DevExpress使他們的控件的樣式和外觀如此困難。我得到了皮膚或主題的概念,它允許用戶在整個應用程序中應用統一的外觀。類似於CSS的力量。但是,任何時候我需要做一些樣式來控制它,這是一個糟糕的過程。你想要一個只有圖像的按鈕,沒有邊界?不得不爲這一點挖掘。應該有一種方法來覆蓋像bg顏色這樣的基本屬性,而不需要一些複雜的過程。我不應該這樣做一個簡單的複選框。 – Tom