C# Winform实现进度条显示

  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 MVtest

  {

  public partial class StartForm : Form

  {

  public StartForm()

  {

  InitializeComponent();

  }

  //修饰符  delegate  返回值类型  委托名 ( 参数列表 );

  private delegate void TIMEinvoke(int val);

  //委托显示客户端列表

  private void DataDisplay(int val)

  {

  if(this.InvokeRequired)

  {

  TIMEinvoke myIvoke = new TIMEinvoke(DataDisplay);

  this.Invoke(myIvoke,new object[] { val });

  }

  else

  {

  this.PBress.Value = val;

  }

  }

  //事件

  int times = 0;

  private void timerStart_Tick(object sender, EventArgs e)

  {

  times++;

  DataDisplay(times);

  if(times>=20)

  {

  PBress.Visible=false;

  //关闭timer控件

  timerStart.Enabled=false;

  this.Close();

  }

  }

  //窗体加载

  private void StartForm_Load(object sender, EventArgs e)

  {

  timerStart.Interval = 100;

  timerStart.Enabled=true;

  PBress.Visible=true;

  PBress.Maximum = 32;

  }

  }

  }