C#和#x2B;控件上的自定义图形?

C#和#x2B;控件上的自定义图形?,c#,winforms,user-controls,C#,Winforms,User Controls,我只是想知道是否有办法创建自己的自定义winforms控件? 我一直在用VisualStudio2008进行掠夺,现在我正在尝试做一些c#应用程序。由于标准winforms的限制,GUI最终看起来很糟糕 我注意到我可以在按钮上添加图像,但是没有悬停效果。或者,悬停效果使整个按钮区域变为灰色。我不想要这些,我只是想为控件创建自己的图形,或者找到一些已经存在的免费(可能是开源)控件 有什么线索吗,有人吗?:) 首先-查看WPF或在winforms中托管某些WPF元素(受支持-)可能更为实用。除此之外

我只是想知道是否有办法创建自己的自定义winforms控件? 我一直在用VisualStudio2008进行掠夺,现在我正在尝试做一些c#应用程序。由于标准winforms的限制,GUI最终看起来很糟糕

我注意到我可以在按钮上添加图像,但是没有悬停效果。或者,悬停效果使整个按钮区域变为灰色。我不想要这些,我只是想为控件创建自己的图形,或者找到一些已经存在的免费(可能是开源)控件


有什么线索吗,有人吗?:)

首先-查看WPF或在winforms中托管某些WPF元素(受支持-)可能更为实用。除此之外,如果你愿意,你可以自己作画;但是这是一个很大的工作。

您可以从头开始编写完整的Winforms控件,自己完成所有的绘制和输入处理-您只需创建一个从“Control”派生的类并继续使用它

制作一个与VS设计器很好集成的一流控件有相当大的难度,因此人们倾向于从现有控件派生自定义控件,该控件具有他们想要的大部分行为


这里是一个很好的起点:

你为什么不使用WPF?如果沿着这条路线走下去,您将拥有更多的UI控制


如果您必须使用WinForms,那么有许多商业解决方案,如。如果你真的想拥有自己的外观和感觉,那就需要做很多工作。

是的。您可以创建自己的控件。它被称为用户控件。只需选择添加->和用户控制


如果你想让你的windows窗体看起来漂亮,WPF是一个很好的选择。

我很困惑,你在做WinForms开发,但在评论中说你已经做了好几个月的WPF开发,但WPF不够好,因为它不是跨平台的

WinForm如何更具跨平台性,你有没有看到在Mac上mono下,WinForms通过X11绘制时的丑陋外观

如果你想要风格和跨平台,可以选择Flex或Silverlight,因为你已经知道WPF我会选择Silverlight路线


它是跨平台的,具有WPF的所有优点,但以减少开箱即用的功能为代价。

一个“用户控件”实际上是用于承载其他控件的控件-听起来像是一个“自定义控件”是他想要的。我只想能够设计我自己的GUI,就是这样。我不知道我该如何使用winforms,因为我不是程序员percé。我是一名设计师,WPF很不错。这只是让它在Linux和MAC上运行的一部分,可能会做出决定。我知道,在过去的一年里,我已经做了很多WPF,并且对它有了相当多的了解。“问题”就是说,我正在开发的应用程序应该能够移植到Windows以外的其他系统。据我所知,WPF不能正确移植?WPF可以很容易地移植到SilverLight。但不,它还不能移植到Mono上运行。看来你得用艰苦的方式来完成这项工作。是的,你已经知道Expression Blend几乎和Photoshop一样好了!:)太棒了!但我不希望应用程序只在Windows平台上工作。这才是真正的问题。Spotify确切地写了什么?他们已经做到了。那么我应该对吗?:)有趣。我在WPF开发方面取得了很大进展,尽管我还没有实现任何实际的代码。只是花了无数个小时做设计。一切都停滞不前,因为我找不到足够好的WPF信息,以及如何做我想做的事。现在我又开始学习了。但是我可以基于SilverLight创建一个独立的应用程序,而不是通过webbrowser吗?因为这也是重点,我不想依赖互联网接入。也许我使用了一个webbrowser元素并通过它来承载它?这可能很聪明。最新的“即将发布”版本的Silverlight 3.5有独立的应用程序。否则,您可以自行承载浏览器组件。