【问题标题】:How can I create/skin a C# UI?如何创建/皮肤 C# UI?
【发布时间】:2012-07-27 12:59:44
【问题描述】:

我从事 C# 项目已经有一段时间了,我觉得它需要改变它的外观。

我找到了一个我非常喜欢的 UI 套件,如下所示: http://medialoot.com/item/transparent-ui-kit/

有人知道怎么做吗?

谢谢

编辑:我正在使用 WinForms

EDIT2:也许我应该转换为 WPF?这可行吗?

【问题讨论】:

  • 你在使用 WPF 吗? ASP.NET? WinForms?
  • 我可以建议您为此付费,但不知何故,我认为这不是您要寻找的答案... :-)
  • “我觉得它需要改变它的外观。” - 请不要。您可能会创建一个巨大的 UI,但除了美观之外,用户不会为此感谢您。灰色的 Windows 外观可能看起来已经过时,但人们已经习惯了遵循系统主题的应用程序。
  • 我明白你来自哪里。像反病毒提供商这样的大公司制作了可怕的用户界面,但我的用户投票认为他们更喜欢不同的外观。
  • 我只使用过 WPF,我知道在 WPF 中主题化很容易。如果您开始构建应用程序,我建议您继续使用 WPF。

标签: c# winforms user-interface user-controls


【解决方案1】:

您可以对最常见的控件进行子类化并自己绘制它们的外观。但是,除非是新颖的应用程序,否则我怀疑您的用户会感谢您这样做。

【讨论】:

  • 至少对于像“修补程序”、媒体播放器、游戏教练等这样的东西,人们通常喜欢能够使用花哨的主题。但是对于任何使用操作系统默认值的严肃应用程序来说确实是要走的路。
  • 我们公司在为他们的收银机创建 POS 软件时实际上必须这样做。关键是要适应公司的设计和感觉。将您使用的每个控件子类化是可行的方法,但这可能是一个巨大的痛苦。如果这是您的客户想要的,那么请继续。我不知道您提到的外部套件,因为我们只是自己重新设计了它们。
【解决方案2】:

您的示例是一个控件库。要获得这样的外观,您必须创建或获取类似的控件库并替换项目中的所有控件才能获得该外观。

如果您想更新颜色(背景、前景等)等,您可以创建一个通过控件递归的类,并使用反射和 switch 语句设置设置来处理每个控件。然后在显示之前在每个表单上运行它。关于这一点要注意一点,一些控件不尊重您的更改并被操作系统的主题覆盖(datetimerpicker 是最大的罪魁祸首)。您还需要考虑您的用户是否会欣赏为更改颜色/外观所做的额外工作。

【讨论】:

  • 谢谢,虽然这个例子只是一组可供人们自己制作的图像。
  • 哎呀,我真傻。在这种情况下,您可以通过在这些图像上绘制这些图像和文本来自定义绘制控件。你可以先用一个控件(可能是一个按钮)试试看它是否工作顺利。
【解决方案3】:

如果您没有很好的设计技能并且对如何创建此类模板有很好的了解,最好购买它们。

而 C# 只是一种语言。您希望为 ASP.NET 网站/应用程序或 Windows 窗体创建模板和皮肤。

【讨论】:

  • 不,他想给 WinForm 换皮。
  • 他稍后进行了编辑以引用 WinForms。我不确定,所以我首先提到了 webapps 和 winforms。否决票? :(
【解决方案4】:

看看DevExpress Skins

如果你能负担得起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多