• Devexpress进度条


    Devexpress控件中,进度条控件为ProgressBarControl, 在数据型控件中进度条为RepositoryItemProgressBar.

         常用的设置

    •   样式或者皮肤
    •   进度设置
    •   进度文字显示

      样式或者皮肤

       进度控件的默认颜色是无法直接更改的,因为显示的优先是样式和皮肤,只有设置不使用默认主题就可以进行改变了.

      

    progressbar.LookAndFeel.UseDefaultLookAndFeel = false;

      进度设置

      进度的三要素:最大值 当前值 递增量

      

    progressbar.Maximum = 200;   //总进度
    progressbar.Step=1; //进度的递增量
    progressbar.Text="55"; //当前进度

      进度文字显示

      进度条在展示进度的同时,还可以显示百分比(可格式化精度)或详细进度,亦可自定义显示

      

    progressbar.ShowTitle = true; //允许显示文字
    progressbar.PercentView=true;//true显示百分比(默认),false显示详细进度

          如下显示:

      

      关于在数据绑定型控件中

      有的时候每行的进度的最大值都是不同的,而在进度到达某一范围需要显示不同的样式.这里我们就需要手动去设置数据对应我们预先定义好的RepositoryItemProgressBar

      下面是一个简单例子:

      

    View Code
     1 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     }

      显示效果如下:

      

      

      下载地址如下: 进度条 

  • 相关阅读:
    我罗斯方块
    《程序设计语言综合设计》第四周上机练习——5 好吃的巧克力
    《程序设计语言综合设计》第四周上机练习——4 特殊的翻译
    《程序设计语言综合设计》第四周上机练习——3 开机方案
    《程序设计语言综合设计》第三周上机练习——3 不诚实的卖家
    《高级语言程序设计实践》期末考试复现——9 丢手绢
    《高级语言程序设计实践》期末考试复现——7 芽衣的厨房
    《高级语言程序设计实践》期末考试复现——5 圣诞老人的糖果
    《高级语言程序设计实践》期末考试复现——4 希儿的日记本
    FZU_DS_2019_SequenceList
  • 原文地址:https://www.cnblogs.com/Achang/p/3049494.html
Copyright © 2020-2023  润新知