0


有没有办法为 C# 控件制作新皮肤?
例如,我想要一个与默认功能相同但外观完全不同的列表视图。
谢谢 :)

4

5 回答 5

4

取决于你的图书馆。

获胜形式:乏味且很难做到。完成单个控件的造型后,您的头上将没有头发。

Wpf:Wpf 正是为此而构建的(当然,还有许多其他令人惊奇的事情)。此页面可能对您有很大帮助。

如果您想完全为您的应用程序设置皮肤,我建议您学习和使用 WPF。我也做到了,这太棒了,不仅是可定制性,而且是一般的一切。它是一个很棒的平台,但由于它需要 DirectX 和更多资源,它的可移植性不高。

于 2011-01-29T16:00:47.227 回答
2

不过,如果您使用的是 Windows.Forms 并希望更改控件的外观,那么它会有点困难。

您必须从控件创建派生类并覆盖 OnPaint 和 OnPaintBackground 事件并实现您自己的代码。

于 2011-01-29T17:04:57.150 回答
1

是的,有了 WPF,一切皆有可能。但是,如果您只习惯于 Windows 窗体,请记住 WPF 是一项新技术,其中包含需要一些时间来学习的新概念。

于 2011-01-29T15:59:52.073 回答
1

正如 Femaref 所说,WPF 中有很多可能性,但在 WinForms 中是相当困难的。

如果您想比他链接的页面更进一步(它仅涵盖样式),您可能会对同一页面侧栏中的“模板和样式”这一点感兴趣:模板和样式以及模板部分那里:模板。使用模板,您可以完成大多数样式无法完成的事情。一个非常基本的例子(你会在几乎所有关于模板的教程中找到)是一个椭圆按钮。此外,您还可以使用触发器重新定义其他内容,例如鼠标悬停和鼠标单击外观。

希望有帮助;)

于 2011-01-29T16:48:36.610 回答
1

我以前也走过这条路,但它并不漂亮。最后我没有重新设置控件。我们遇到了 WinForms 树视图的问题。那是另一个故事。

在 WinForms 中,是的,您为要编辑的控件创建派生版本。并彻底改变 OnPaint 和相关的 Paint 方法。对于树视图来说,这是一场噩梦,所以最后没有这样做。除非您有从头开始绘制控件的经验,否则我不会考虑此选项。

如果您在 WPF 中,控件全部由视觉元素组成,并且更改它们更容易。WPF 的控件较少,并且依赖于开发人员根据自己的需要对其进行编辑。就我个人而言,我想要更多基本的 WPF 控件,例如 WinForms,但那又是另一个故事。

其他 2 个选项是,从头开始一个全新的控件,或者在网上找到您喜欢的控件外观并购买它。许多网站出售定制的 .net 控件。

于 2011-01-29T22:37:39.513 回答