如何在WinForms中自定义UI控件的外观?

时间:2010-04-21 14:19:52

标签: c# winforms user-interface

我想将标准用户控件外观(按钮,dgv,txtbox等等)和我的表单布局自定义为最先进的现代界面,就像任何体面的应用程序一样。我怎样才能做到这一点?。要找什么?任何可能有帮助的文章,书籍......等等。

4 个答案:

答案 0 :(得分:5)

就你想要达到的目标而言,你的问题有点模糊。但是,您可以通过自己处理绘制来自定义大多数控件的外观。

还有一些第三方Winforms控件库可以轻松换肤。

此外,如果它是一个选项,WPF提供了一个非常强大的样式系统来改变你想要的任何外观。

答案 1 :(得分:3)

要自定义控件的外观,您需要覆盖OnPaint方法并自行执行绘制。有很多例子显示了许多创建和修改自定义控件的方法。

自定义文本框的Google搜索http://www.google.com/search?hl=en&q=dotnet+custom+textbox&aq=f&aqi=&aql=&oq=&gs_rfai=

不要忘记this.DrawMode = DrawMode.OwnerDrawFixed;否则将不会调用OnPaint。

答案 2 :(得分:2)

如果你可以使用WPF而不是WinForms,那么定制控件的外观将会轻松得多。但是如果你必须使用WinForms,你需要熟悉使用GDI+ functions通过Graphics对象访问的绘画。

以下是customising Windows Froms controls

的一些链接

答案 3 :(得分:1)

DevExpress就是这样的库,它将为您提供多种GUI样式。否则,覆盖Paint()事件是可行的方法。