C# 进度条(基于progressBar控件,条件触发类型)

C# 进度条(基于progressBar控件,条件触发类型)_第1张图片

进度条

设置你的进度条最大值,每触发一次条件就可增加进度。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // 设定最大进度条的值 根据你的需求去更改这个数值
            progressBar1.Maximum = 5;
        }

        
        // 开关
        bool progress = false;

        private void button1_Click(object sender, EventArgs e)
        {
            // 打开开关 避免循环
            progress = true;
        }


        // 主动结束按钮
        private void button3_Click(object sender, EventArgs e)
        {
            // 归零
            progressBar1.Value = 0;
            label1.Text = "0%";
            // 关闭开关
            progress = false;
        }



        // 暂时用这个作为触发
        private void button4_Click(object sender, EventArgs e)
        {
            // 进度条 progressBar1
            if (progressBar1.Value < progressBar1.Maximum)
            {

                fun1();

            }
            else
            {
                // 归零
                progressBar1.Value = 0;
                label1.Text = "0%";
                // 关闭开关
                progress = false;
            }

        }


        // 你的业务逻辑, 每调用一次进度就会增加一点
        private void fun1()
        {
            // 开关开启才可以有进度
            if (progress)
            {
                progressBar1.Value++;//进度值自增

                // 计算百分比:用小数类型计算百分比,再转整数取消小数部分. 
                int percentage = (int)((Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum)) * 100);
                // 显示百分比
                label1.Text = percentage.ToString() + "%";
            }
            
        }


    }
}

你可能感兴趣的:(C#,学习,c#,开发语言)