Google Chrome样式进度指示器(进度条)
? 野比 2012
最近不用Opera,换成用Google Chrome,觉得它的进度条挺有意思的,就像这样:
于是简单复刻了一个。
功能
显示给定进度百分比(0-100)。如果进度值达到100%,则将闪烁指定次数。
属性
Image ,图标,null则不显示
SpokeColor ,辐条颜色
SpokeCount ,辐条数量(穿过圆心算1根)
Value ,进度百分比
事件
没有加入进度变化或完成事件,如果需要请自行添加。
结构
原理比较简单,参照此图:
层次如下:
用 Parent.BackColor 填充背景
画进度,用 DrawPie() 做
画辐条,对穿圆心, drawSpokes()
画图标,居中, drawIcon()
动画
利用一个 System.Windows.Forms.Timer 控件完成,在 Timer 中只修改淡出进度,之后 Refre sh() ,在 Paint 事件中改变填充色的 Alpha 分量,重绘一个圆。
如此反复数次,即呈现出闪烁效果。
1 if (!timer.Enabled || blink == BlinkCount) 2 drawProgress(canvasGraphic, value); 3 else 4 { 5 ((SolidBrush)pieBrush).Color = Color.FromArgb(count, ForeColor.R, ForeColor.G, ForeColor.B); 6 canvasGraphic.FillEllipse(pieBrush, rect); 7 ((SolidBrush)pieBrush).Color = ForeColor; 8 }
其余部分请参阅代码: 点击下载
(完)
? 野比 2012
标签: 图标 , C# , 控件 , GDI+
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于Google Chrome样式进度指示器(进度条)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did48425