c# 自定义控件之小小进度条

作者:   出处:互联网   2015-06-03 04:08:37   阅读:3

先看效果图:



非常简洁的一个进度条。


完整项目源码下载:http://files.cnblogs.com/files/tuzhiyuan/%E8%BF%9B%E5%BA%A6%E6%9D%A1%E6%8E%A7%E4%BB%B6%E8%87%AA%E5%AE%9A%E4%B9%891.rar


下面是代码:


 1 int _now = 1;

2 Color hatchColor;
3 public MYProgressBar()
5 InitializeComponent();
7 //设置当前进度位置
8 [Description("设置当前进度所在位置")] //显示在属性设计视图中的描述
9 [DefaultValue(typeof(Int32), "0")]//给予初始值
10 public int Value
13 get
15 return _now;
17 set
19 if (value 100)
21 _now = 100;
22 SetJinDu(100);
24 else if (value 0)
26 _now = 0;
27 SetJinDu(0);
29 else
31 _now = value;
32 SetJinDu(value);
36 [Description("设置进度条进度颜色")] //显示在属性设计视图中的描述
37 [DefaultValue(typeof(Color), "Control")]//给予初始值
38 public Color BarColor
40 get { return hatchColor; }
41 set
43 hatchColor = value;
44 panel1.BackColor = value;
47 private void MYProgressBar_Load(object sender, EventArgs e)
51 public void SetJinDu(int number)
54 //获取控件宽度
55 float db_this_width = this.Width;
58 //进度值除以100得到进度条宽度相对的百分比
59 float bfz = (float)number / 100;
62 //控件宽度乘以百分比得到进度条Panel的相对宽度
63 panel1.Width = Convert.ToInt32((float)db_this_width * bfz);
67 //控件发生大小改变事件
68 private void MYProgressBar_Resize(object sender, EventArgs e)
70 panel1.Height = this.Height;
71 SetJinDu(Value);
72 }

如何使用,在winform工具栏右键选择项 浏览,选择自定义控件dll文件,即可在工具栏看到,拖动使用。


还是那句老话,没有完善,需要用还需继续完善。


Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat