委托+线程实现超简单winform实时进度条 欢迎拍砖
一直搞ASP.NET没多少机会碰一碰多线程 这几天自己鼓捣了个实时更新的winform进度条控件(不是假的那种哦!) 使用者无需知道线程等相关知识 甚至连委托都不怎么需要知道 即可实现一个支持开始 暂停 继续 终止 再次开始的进度条效果
以下是调用方法
private void Start_Click(object sender, EventArgs e) { this.myProcessBar1.Task = this.Task; this.myProcessBar1.Run();//开始工作线程 同时开始监听工作进度 } //某个耗时操作 参数即当前进度 public void Task(ref float percentage) { int i = 0; while (i < int.MaxValue ) { i++; percentage = i / (float)int.MaxValue; } } private void button1_Click(object sender, EventArgs e) { this.myProcessBar1.Stop();//暂停进度条 同时也暂停工作线程 } private void button2_Click(object sender, EventArgs e) { this.myProcessBar1.Resume();//继续进度条 同时继续工作线程 } private void button3_Click(object sender, EventArgs e) { this.myProcessBar1.Abort();//终止工作进程 } private void button4_Click(object sender, EventArgs e) { this.myProcessBar1.Run();//这边位重新启动进度条 }