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