【发布时间】:2014-05-08 19:18:27
【问题描述】:
我正在开发一个 Windows 窗体。我想更改表单及其控件的物理外观。我能够使用 Skincrafter 演示,但这使应用程序变得更重。我对浏览选项卡、移动窗口等时的“沉重”感觉不满意。这是一个相当简单的程序,不使用 skincrafter 时我没有这个问题。不使用它时,GUI 反应灵敏,我想保持这种状态。
我尝试了许多不同的皮肤,结果在每种情况下都非常相似。
所以我不会使用 skincrafter,除非有人指出导致 GUI 变慢的可能原因。我按照他们的教程进行操作,没有做任何其他事情。简单的过程。之前:快速 GUI - 之后:慢速 GUI。
谁能推荐我另一种更改控件/表单外观的方法?有没有办法在不依赖第三方皮肤软件的情况下以编程方式更改控件和表单的外观?
请注意,我不希望我的用户更换皮肤。我想申请一个,就是这样。
谢谢 史蒂夫
编辑: 该项目还远未完成,所以我要给 WPF 一些真正好的想法,所以当我有现在的 4 倍大时,我最终不会这样做。 我已经开始转换了,应该问题不大。发现timer和serialport不能在toolbox前面,timer被dispatchtimer替换。到目前为止没什么大不了的。 让我想使用 WPF 的另一件事是我可能需要制作图表(绘图)来显示温度随时间的变化。我使用串行端口与读取一堆温度传感器和风扇速度的外部 USB 控制器(虚拟 COM 端口)进行通信。我怀疑使用 WPF 绘图会更好。 最后一件事:它只是关于颜色/字体,但更多的是关于按钮的外观,实际窗口的外观(边框形状)。我想做的是与 html 和 css 类似的事情。我确实想要自定义标签,让它们看起来像“数字显示器”,用于实时温度和风扇速度测量。
再次感谢大家提供的帮助!
【问题讨论】:
-
您可以查看商业控件套件,例如 Telerik 和 DevExpress。但是如果你真的很关心我听说的 UI,最好转向 WPF。在 Windows 窗体中这并非不可能,但肯定更难。
-
我还建议您为此寻找第三方。你不太可能在合理的延迟内想出更好的东西。要么,要么完全放弃剥皮的想法。
-
Can anyone recommend me another way to change the appearance of my controls/form?- 您正在寻找WPF。在创建基于 .Net 的 Windows 桌面应用程序时,它是首选的 UI 框架。 winforms 是一项非常古老的技术,不支持任何级别的丰富性或自定义。 -
感谢您的建议。与许多较小的公司一样,我们没有内部程序员,我们也没有分包这个的预算。我之前做过一些 winform 的工作,这个稍微重要一点,因为它会被最终用户使用,而不是我之前做的那些我是唯一的用户(实验室应用程序)。我想知道将整个项目移动到 WPF 会有多困难,但我会研究一下。谢谢
-
这几乎完全取决于您设计项目的好坏。如果您遵循一些好的做法并将您的逻辑与 UI 分开,那应该相当简单,因为您可以重用其他层。