Vista风格按钮C#实现

Vista 系统的按钮风格,圆润边角、柔和渐变,还带点玻璃质感,蛮抓眼球的。如果你做 WinForms 项目,想要按钮不再一成不变,可以看看这个用 C#写的Vista 风格按钮源码,风格相似度挺高的,基本可以乱真。

主角是个叫VistaButton.cs的类,继承自System.Windows.Forms.Button,重写了不少东西。绘制用的是GDI+,可以自定义边框、阴影、按下高亮这些效果,响应也快,外观也挺细致。自带的OnPaint方法你可以按自己口味继续改。

还有个VistaButton.resx资源文件,专门用来装图片、提示文字之类的资源。比如按钮按下去时切换图标,或者根据语言环境显示不同提示,都挺方便。

源码都打包在VistaButtonSource.zip里,解压就是完整工程,包含事件、绘图逻辑和资源文件,直接跑起来看效果。你也能快二次开发,换点图标啥的。

实现里你能学到不少东西,比如怎么用Graphics画控件,怎么通过MouseEnterMouseDown这些事件来控制视觉反馈,还有多语言资源管理、性能优化等等,都是 WinForms 控件定制的常用套路。

嗯,如果你平时做的是内部工具、系统集成类项目,对界面要求又不低,这套按钮风格还蛮加分的。建议在不同 Windows 版本上测下兼容性,Vista 的样式在 Win10 上还是有点年代感,但看着依然舒服。

如果你对GDI+还不熟,可以参考下这些链接:
C# GDI+ 玻璃按钮控件源码
C# GDI+编程
GDI+图形编程示例源码

如果你刚好在折腾 WinForms 的 UI,想做点差异化,这个按钮实现值得一看,顺手还能锻炼下绘图功底。

rar 文件大小:89.57KB