c# 自定義控件之小小進度條


先看效果圖:

非常簡潔的一個進度條。

完整項目源碼下載: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 Value
11         {
12 
13             get
14             {
15                 return _now;
16             }
17             set
18             {
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                 else
30                 {
31                     _now = value;
32                     SetJinDu(value);
33                 }
34             }
35         }
36         [Description("設置進度條進度顏色")] //顯示在屬性設計視圖中的描述
37         [DefaultValue(typeof(Color), "Control")]//給予初始值
38         public Color BarColor
39         {
40             get { return hatchColor; }
41             set
42             {
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         }

如何使用,在winform工具欄右鍵選擇項>瀏覽,選擇自定義控件dll文件,即可在工具欄看到,拖動使用。

還是那句老話,沒有完善,需要用還需繼續完善。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM