首页 > 代码库 > 环形进度条
环形进度条
接触Winform时间也不长,控件自绘也是刚开始学,现在的打算是一点一点积累,争取能够有点小成果。今天分享的是一个自定义的进度条控件,实现很简单,也没有做什么美化,所以有兴趣的就粗略看看。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing;using System.Drawing.Drawing2D;namespace AnnularProgressBarDemo{ public partial class AnnularProgressBar : Control { /// <summary> /// 前景色,即进度条颜色 /// </summary> private SolidBrush _ForeBrush = new SolidBrush(Color.Red); public SolidBrush ForeBrush { get { return _ForeBrush; } set { _ForeBrush = value; Invalidate(); } } /// <summary> /// 遮盖颜色,即环内部的颜色 /// </summary> private SolidBrush _MaskBrush = new SolidBrush(SystemColors.Control); public SolidBrush MaskBrush { get { return _MaskBrush; } set { _MaskBrush = value; Invalidate(); } } /// <summary> /// 起始角度 /// </summary> private float _StartAngle = 0.0f; public float StartAngle { get { return _StartAngle; } set { _StartAngle = value; Invalidate(); } } /// <summary> /// 跨度 /// </summary> private float _SweepAngle = 0.0f; public float SweepAngle { get { return _SweepAngle; } set { _SweepAngle = value; Invalidate(); } } /// <summary> /// 进度 /// </summary> private float _Value = http://www.mamicode.com/0.0f;>
方法很简单,就是靠GDI+画一个Pie,然后再画一个圆遮住中间的部分,其他的就是靠调节相关的值来实现了。用的话也很简单,初始化MinValue、MaxValue和InitValue值后就可以通过改变Value的值来完成了。
环形进度条
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。