好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Google Chrome样式进度指示器(进度条)

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样式进度指示器(进度条)的详细内容...

  阅读:58次