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; } } } }