先看效果图:非常简洁的一个进度条。完整项目源码下载: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 ...
先看效果图:
非常简洁的一个进度条。
完整项目源码下载: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() 4 { 5 InitializeComponent(); 6 } 7 //设置当前进度位置 8 [Description("设置当前进度所在位置")] //显示在属性设计视图中的描述 9 [DefaultValue(typeof(Int32), "0")]//给予初始值10 public int Value11 {12 13 get14 {15 return _now;16 }17 set18 {19 if (value > 100)20 {21 _now = 100;22 SetJinDu(100);23 }24 else if (value < 0)25 {26 _now = 0;27 SetJinDu(0);28 }29 else30 {31 _now = value;32 SetJinDu(value);33 }34 }35 }36 [Description("设置进度条进度颜色")] //显示在属性设计视图中的描述37 [DefaultValue(typeof(Color), "Control")]//给予初始值38 public Color BarColor39 {40 get { return hatchColor; }41 set42 {43 hatchColor = value;44 panel1.BackColor = value;45 }46 }47 private void MYProgressBar_Load(object sender, EventArgs e)48 {49 50 }51 public void SetJinDu(int number)52 {53 54 //获取控件宽度55 float db_this_width = this.Width;56 57 58 //进度值除以100得到进度条宽度相对的百分比59 float bfz = (float)number / 100;60 61 62 //控件宽度乘以百分比得到进度条Panel的相对宽度63 panel1.Width = Convert.ToInt32((float)db_this_width * bfz);64 65 }66 67 //控件发生大小改变事件68 private void MYProgressBar_Resize(object sender, EventArgs e)69 {70 panel1.Height = this.Height;71 SetJinDu(Value);72 }
原标题:c# 自定义控件之小小进度条
关键词:C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。