程序员开发实例大全宝库

网站首页 > 编程文章 正文

Winform dotnetbar progressSteps 控件使用

zazugpt 2024-08-20 00:48:38 编程文章 19 ℃ 0 评论

最近在做一个检测类的项目,其中需要对一项项的数据做自动检测匹配。就想到了progressSteps 控件。

最初设想的是采用类似图片中的这种方式。一项检测完了提示一项成功与否,其实和progressSteps 展示类似。只不过这个是分表格展示的。后面每一行有个Status 显示状态信息。

在翻看dotnetbar示例时突然看到了这个控件想着这个做一个出来。

添加一个检测控件

private DevComponents.DotNetBar.ProgressSteps progressSteps1_jiance;

首先添加每一个Item

    this.progressSteps1_jiance.Items.Clear();
            List<String> gasList = new List<string>();
            gasList.Add("CH4");
            gasList.Add("CO2");
            gasList.Add("CO");
            gasList.Add("T");
            gasList.Add("H");
            gasList.Add("O2");
            gasList.Add("烟感");

            foreach (var item in gasList)
            {
                StepItem newItem = new StepItem();
                newItem.Name = item;
                newItem.Text = item;
                //newItem.Padding.Top = 8;
                //newItem.Padding.Bottom=8;
                //newItem.Padding.Left = 8;
                //newItem.Padding.Right = 8;
                this.progressSteps1_jiance.Items.Add(newItem);
            }


运行界面效果:


绑定检测逻辑更改对应的Item的背景色和显示的图标标志(这里使用Symbol来控制更改)。

    
        private void setItemBackColor(string itemName,bool warning) {
            List<Color> colors = new List<Color>();
            colors.Add(Color.Green);
            colors.Add(Color.White);
            StepItem tmpItem = (StepItem)this.progressSteps1_jiance.GetItem(itemName);
            tmpItem.BackColors = colors.ToArray();


            if (warning)
            {
                tmpItem.BackColors = colors.ToArray();
                tmpItem.BackColors[0] = Color.Red;
                tmpItem.Symbol ="?";
                tmpItem.SymbolColor =Color.Red;
               // tmpItem.SymbolSet = DevComponents.DotNetBar.eSymbolSet.Material;
            }
            else {
                tmpItem.BackColors[0] = Color.Green;           
                tmpItem.Symbol = "?";
                tmpItem.SymbolColor =Color.Green;
            }

            this.BeginInvoke(new Action(() =>
            {
                this.progressSteps1_jiance.Refresh();
            }));
           
        }

这段代码里 使用item的名字来控制是显示绿色的通过和红色的警告不通过的。运行下看看效果。有了:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表