• C# 进度条


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    
    namespace ProgressBar
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                this.progressBar1.Visible = false;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.progressBar1.Visible = true;
                this.llabelProcess.Visible = true;
                // 启动进度条线程
                System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(NumberIncrement));
                thread.Start();
                Application.DoEvents();
                
    
            }
            
            public void NumberIncrement()
            {
                 EventHandler eh = new EventHandler(DisplayNumber(), pList);//启用一个委托,跳回UI线程.
                 try
                 {
                     this.Invoke(eh, new object[] { null, null });//执行委托
                 }
                 catch (System.Exception ex)
                 {
     
                 }
            }
    
            public void DisplayNumber(object sender, EventArgs e)
            {
                for (int i = 1; i <= 100; i++)
                {
                    SetProcessValue("测试中...", i);
                    Thread.Sleep(50);
                }
            }
    
            //设置进度条显示
            public void SetProcessValue(string TitleName, int value)
            {
                this.progressBar1.Tag = TitleName;
                string str = value.ToString() + "%";
                Font font = new Font("Times New Roman", (float)11, FontStyle.Regular);
                PointF pt = new PointF(this.progressBar1.Width / 2 - 10, this.progressBar1.Height / 2 - 10);
                this.progressBar1.Value = value;
                this.llabelProcess.Text = str;
                this.Refresh();
    
                if (value >= 100)
                {
                    MessageBox.Show("导出完成,请保存!");
                    this.button1.Enabled = true;
                    this.progressBar1.Visible = false;
                    this.llabelProcess.Visible = false;
                }
            }
        }
    }

    更多内容请访问 www.uusystem.com

  • 相关阅读:
    WCF简单使用(分别部署在控制台和IIS上)
    WCF系列教程之WCF服务配置工具
    053547
    053546
    053545
    053544
    053543
    053542
    053541
    053540
  • 原文地址:https://www.cnblogs.com/tianjifa/p/9334182.html
Copyright © 2020-2023  润新知