编程论坛's Archiver

jacklee 发表于 2008-5-8 22:22

[原创,分享]用C#打造水晶效果(似VISTA)皮肤控件

/*这是2007年写的一个关于C#个性化组件
希望能给大家在学GDI+时带来帮助!
作者:Jack.Lee
宏杰技术,2007*/

若图片不能显示,请去http://www.hstsoftware.cn/resinfo.asp?pid=19参考或下载源码包!(其他项目就别看了,没东西。)





本次写的组件类有:hstbutton(按钮)、hstcheckbox(复选框)、hstform(窗体)、hstprogressbar(进度条)、hstradiobutton(单选框)、状态栏、PANEL、其他两个作废。
效果图:

这些控件都是在(Microsoft)微软件控件下重写相关函数得来,大多数工作是在ONPAINT事件下重写绘制而成:如

protected override void OnPaint(PaintEventArgs pevent)
{
Pen pen = new Pen(m_outBorderColor);
Brush brush = new SolidBrush(BackColor);

if (!this.Enabled)
{
DrawDisable(pevent.Graphics, brush, pen);
DrawString(pevent.Graphics);
return;
}

pevent.Graphics.FillPath(brush, m_Region);

DrawUpperShine(pevent.Graphics);

if(IsMouseHover)
DrawBottomShine(pevent.Graphics);

DrawString(pevent.Graphics);

DrawBorder(pevent.Graphics, pen);
//base.OnPaint(pevent);
}

关注此工程资源的详细代码这里不详细说明,请下载软件包来打开学习或参考!

[[it] 本帖最后由 jacklee 于 2008-5-9 11:43 编辑 [/it]]

白菜粉条 发表于 2008-5-9 14:36

不错,希望我能吃透!

snipen 发表于 2008-5-9 19:35

很好,

野比 发表于 2008-5-9 20:43

2 个渐变吗?没时间看代码了,配色很不错哦

jacklee 发表于 2008-5-9 21:34

发出来分享,随人所好。

野比 发表于 2008-5-10 19:09

GDI+ 还算好用,不过坐标系不太爽,那个半像素判别真恶心...

fetso 发表于 2008-6-4 23:09

[tk02] 好东西!

opbyte 发表于 2008-6-20 17:40

谢谢分享

andey 发表于 2008-6-22 16:58

FK 李的?
支持一下...

fjfhnui 发表于 2008-6-22 20:40

支持

wode1212008 发表于 2008-6-29 13:16

wode1212008@.163.com,发下

witchery 发表于 2008-6-29 21:29

ding !~~
  太好了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.