【问题标题】:C# app look and feel (theme) [duplicate]C#应用程序外观(主题)[重复]
【发布时间】:2012-03-17 00:17:41
【问题描述】:

可能重复:
How do I skin my Winform application?

我知道这可能是一个已经争论不休的话题,但我无法找到一个简单的答案来引导我完成剩下的过程,无论是在这里还是通过谷歌搜索。

基本上我需要做的是改变我在 C# WinForms 中开发的应用程序的整个主题。就像在 Java 中应用新外观一样,无需每次都单独设置每个元素的样式。

不仅如此,我还想使用类似 VS2010 的默认样式(颜色相同)。你觉得有图书馆可以下载和申请吗?

我想到的另一种方法是以某种方式扩展表单,并自己为每个元素覆盖颜色,然后在我的所有窗口中使用它。

我再说一遍,目标主要是改变颜色,因为通过启用视觉样式,形状和布局都可以。

谢谢!

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

乐: 好的,所以我已经爬网了,似乎没有快速的方法可以做到这一点。现在,我决定重新着色所有默认的 winform 控件。有谁知道如何访问它们? (例如,对于文本框,我将拥有 tb.BackgroundColor)......但我需要 GUI 中的每个元素(如所选项目的背景等)。谢谢!

【问题讨论】:

  • 只要在 SO 上搜索winforms skinning,您就会得到很多答案。如果它们对您来说不够好:请描述原因。
  • 嗨。感谢您的反馈意见。我以前搜索过该网站,但如果我可以自己或在免费框架的帮助下执行此操作,则找不到具体答案。我想购买 DevExpress 许可证,但对我来说太贵了(~900 美元)。仅仅为了改变颜色是不值得的。那么,我自己怎么能做到这一点呢?

标签: c# winforms visual-studio-2010 user-interface look-and-feel


【解决方案1】:

为什么不直接更改控件的 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);

【讨论】:

  • 有很多元素需要这样着色,不仅仅是一些按钮和面板的背景。但是感谢您的贡献。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
  • 2015-03-29
相关资源
最近更新 更多