Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
蒙皮C#控件?_C#_Controls_Skin - Fatal编程技术网

蒙皮C#控件?

蒙皮C#控件?,c#,controls,skin,C#,Controls,Skin,有没有一种方法可以为C#control创建新的外观? 例如,我想要一个与默认视图具有相同功能的listview 但外观完全不同。 谢谢:)是的,有了WPF,一切都是可能的。但是,如果您只习惯于Windows窗体,请记住WPF是一种新技术,其新概念需要一些时间来学习。取决于您的库 赢的形式:乏味而且很难做到。完成一个控件的样式设置后,您将没有头发 Wpf:Wpf正是为此而构建的(当然,还有许多其他令人惊奇的事情)。这可能对你有很大帮助 如果您想完全简化应用程序,我建议您学习并使用WPF。我也这么做


有没有一种方法可以为C#control创建新的外观?
例如,我想要一个与默认视图具有相同功能的listview 但外观完全不同。

谢谢:)

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

取决于您的库

赢的形式:乏味而且很难做到。完成一个控件的样式设置后,您将没有头发

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


如果您想完全简化应用程序,我建议您学习并使用WPF。我也这么做了,这是惊人的,不仅是可定制性,但一般的一切。这是一个很好的平台,但由于它需要DirectX和更多的资源,它的可移植性较差。

正如Femaref所说,WPF中有许多可能性,但在WinForms中却相当困难

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


希望有帮助;)

但是,如果您使用的是Windows.Forms,并且希望更改控件的外观,那么这将有点困难


您必须从该控件创建一个派生类,重写OnPaint和OnPaintBackground事件,并实现您自己的代码。

我以前也经历过这一过程,但它并不漂亮。最后,我没有重新整理控件。我们在WinForms树视图中遇到问题。这是另一个时代的故事

在WinForms中,则为要编辑的控件创建派生版本。并对OnPaint和相关的油漆方法进行过度观察。对于treeview来说,这是一场噩梦,所以最后没有这么做。除非你有从头开始绘制控件的经验,否则我不会考虑这个选项。

如果您使用WPF,那么控件都是由可视元素组成的,并且更容易更改它们。WPF的控件较少,并且依赖于开发人员根据自己的需要编辑它们。就我个人而言,我想要更基本的WPF控件,比如WinForms,但这又是另一回事

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