progressbar 进度条

public partial class Form1 : Form
 2     {
 3         public Form1()
 4         {
 5             InitializeComponent();
 6             this.Load += new EventHandler(Form_Load);
 7         }
 8 
 9         Timer timer = new Timer();
10         RepositoryItemProgressBar progressbar = new RepositoryItemProgressBar();
11 
12         private void Form_Load(object sender, EventArgs e)
13         {
14             progressbar.LookAndFeel.UseDefaultLookAndFeel = false;
15             progressbar.ShowTitle = true;
16             //皮肤,这里使用的Dev自带的几款皮肤之一
17             progressbar.LookAndFeel.SkinName = "Money Twins";
18             //progressbar.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Office2003;
19 
20             InitData();
21             timer.Interval = 100;
22             timer.Tick += new EventHandler(timer_Tick); 
23             timer.Start();
24         }
25 
26         private void timer_Tick(object sender, EventArgs e)
27         {
28             objects.ForEach(x =>{
29                 if (x.Index < x.Count) x.Index++;
30                 else x.Index = 0;
31             });
32             this.gridControl.RefreshDataSource();
33         }
34 
35         private List<TestObject> objects = new List<TestObject>();
36 
37         public void InitData()
38         {
39             objects.Clear();
40             objects.Add(new TestObject() { ID="A0001",Name="Francis",Count=100,Index=0});
41             objects.Add(new TestObject() { ID = "A0002", Name = "Andy", Count = 1000, Index = 0 });
42             objects.Add(new TestObject() { ID = "A0003", Name = "Tom", Count = 20, Index = 0 });
43             objects.Add(new TestObject() { ID = "A0004", Name = "Achang", Count = 50, Index = 0 });
44             this.gridControl.DataSource = objects;
45             this.gridView.Columns["Count"].Visible = false;
46             this.gridView.Columns["Index"].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
47         }
48 
49         private void gridView_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
50         {
51             if (e.Column.FieldName == "Index")
52             {
53                 int count = (int)this.gridView.GetRowCellValue(e.RowHandle, "Count");
54                 int index = (int)e.CellValue;
55                 progressbar.Maximum = count;
56                 e.RepositoryItem = progressbar;
57             }
58         }
59 
60         private void gridView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
61         {
62             if (e.Column.FieldName == "Index")
63             {
64                 int count = (int)this.gridView.GetRowCellValue(e.RowHandle, "Count");
65                 int index = (int)e.CellValue;
66                 e.DisplayText = string.Format("{0}/{1}",index,count);
67             }
68         }
69     }
70 
71     public class TestObject
72     {
73         public string ID { get; set; }
74         public string Name { get; set; }
75         public int Count { get; set; }
76         public int Index { get; set; }
77     }
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值