0

可能重複:
How do I skin my Winform application?C#應用程序的外觀和感覺(主題)

我知道這也許是一個已經辯論的主題,但我不能設法找到一個簡單的答案無論是在這裏,還是通過Google搜索,我都可以通過其餘的流程。

基本上我需要做的是改變我在C#WinForms中開發的應用程序的整個主題。就像在Java中應用新的外觀一樣,而不必每次都分別對每個元素進行樣式設置。

不僅如此,我還想使用VS2010的默認風格(使用相同的顏色)。你認爲有一個我可以下載和申請的圖書館嗎?

我想到的另一種方法是以某種方式擴展窗體,併爲每個元素自己覆蓋顏色,然後在我的所有窗口中使用它。

我再說一遍,目標主要是改變顏色,通過啓用視覺樣式,形狀和佈局都可以。

謝謝!

============================================== ======================

LE: 好吧,所以我爬網,似乎沒有快速的方法來做到這一點。現在,我決定重新着色所有默認的WinForms控件。有誰知道如何訪問它們? (例如,對於文本框,我將有tb.BackgroundColor)...但我需要在GUI中的每一個元素(如選定項目的背景等)。謝謝!

+1

只是做'的WinForms skinning'在這裏SO,你會得到很多答案的搜索。如果他們對你不夠好:描述原因。 – jgauffin 2012-02-27 14:20:21

+0

嗨。感謝您的反饋意見。我之前搜索過這個網站,但是如果我可以自己做,或者在一個免費框架的幫助下找不到具體的答案。我想買DevExpress許可證,但對我來說太貴了(約900美元)。它不值得僅僅爲了改變顏色。 那麼,我怎麼能自己做到這一點? – ddaniel 2012-02-27 14:56:43

回答

0

爲什麼不改變控件的BackColor屬性?

例如

BackColor = Color.FromArgb(20, 20, 100); 
panel1.BackColor = Color.DarkSlateBlue; 

您還可以創建面板類型以跨應用程序使用。喜歡的東西:

class MyPanel : Panel 
{ 
    public MyPanel() 
    { 
     this.BackColor = Color.DarkSlateBlue; 
    } 
} 

,然後用它是這樣的:

MyPanel panel2 = new MyPanel(); 
Controls.Add(panel2); 
+0

這種方式有很多元素需要着色,它不僅僅是一些按鈕和麪板的背景。但是,謝謝你的貢獻。 – ddaniel 2012-02-27 17:40:47