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 }
progressbar 进度条
最新推荐文章于 2024-08-26 18:56:03 发布