Windows Form (C#) 进度条处理

问题: 后台处理大量数据,要求主界面不卡死,显示进度条,且主程序体在数据处理完毕后继续运行。

 1   {
 2     //主程序1
 3   }
 4    //插入代码
 5   Thread t1 = new Thread(StartWork);
 6   t1.IsBackground = true;
 7   t1.Start();
 8   finishHandler=
 9   delegate(){
10     //主程序2
11     //此处可能会报错:调用了不是此线程创建的……blabla
12     //使用this.Invoke(相关代码委托);
13 }
14
15 /////////////////////////////////////////////////
16         //委托相关
17         private delegate void PRoManager();
18         private delegate void OnFinished();
19         private OnFinished finishHandler;
20
21         private void StartDB3Work(Object o)
22         {
23             PRoManager prostart = new PRoManager (startPro);
24             progress.Invoke(prostart);
25
26        {27                //数据处理代码
28        }
29             if (finishHandler!=null)
30                 finishHandler();
31         }
32
33     //progressBar 相关代码
34         System.Windows.Forms.Timer timer;
35         private void startPro()
36         {
37             progress.Minimum = 0;
38             progress.Maximum = 100;
39             progress.Value = 0;
40
41             timer = new System.Windows.Forms.Timer();
42             timer.Tick += new EventHandler(tPro_Tick);
43             timer.Start();
44         }
45         private void tPro_Tick(object sender,EventArgs e)
46         {
47             int iNum = progress.Value;
48             if (iNum != 100)
49             {
50                 progress.Increment(4);
51             }
52             else
53             {
54                 progress.Value = 0;
55             }
56         }
57         private void closePro()
58         {
59             if(timer!= null)
60             {
61                 timer.Stop();
62                 timer.Dispose();
63                 timer = null;
64             }
65             progress.Value = 100;
66         }
时间: 2024-11-05 02:21:48

Windows Form (C#) 进度条处理的相关文章

异步上传文件(jquery.form)+进度条+上传到ftp服务器

最近写了一个小项目需要上传文件显示进度条到ftp,总结一下分享 我用的是jQuery.form.js上传 ftp服务器,自己百度去搭建很简单的 Talk is cheap.Show me your code.         GitHub上面的源码:https://github.com/Vinkong/learngit aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Def

windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法

windows安装MongoDB 首先去官网(https://www.mongodb.com/download-center?jmp=nav#community),下载一个mongodb Windows客户端. 我下载了两个一个是3.4.11版,一个是3.6.2. 本来是用mongodb配合springboot学习用,于是先选用最新版,但是安装时卡住,卡在了Compass 解决办法: 1.等待半小时,或者更久.(http://blog.csdn.net/only_yu_yy/article/de

一个仿 github for windows 及 windows 8 的进度条

https://github.com/wly2014/ProgressBar

wpf使用进度条,趣味学习

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; namespace 进度条Again { public partial class Form1 : Form { public Fo

C#PDA智能程序图片动态变化进度条设计及实现

前言:SmartProject 项目是C#桌面程序的精简版,很多属性和事件可能都没有设置进SDK中.在最近的PDA程序中,我没用使用进度条.为了防止用户乱点,最开始想使用windows提供的进度条,但是觉得又不适合,所以就试图用图片切换的方式来实现.  原理:开启线程切换图片实现显示(子线程不影响主线程而继续往下执行). 1.进度界面设计效果 2.界面切换效果 点击质检按钮后跳转(during the new thread running the UI will be changed): 等待业

2014年12月20日00:33:14-遮罩+进度条-extjs form.isvalid

1.Extjs : 遮罩+进度条 2.Extjs: extjs form.isvalid http://stackoverflow.com/questions/19354433/extjs-form-isvalid-is-false-but-how-to-know-why-the-form-is-invalid EXT API: http://docs.sencha.com/extjs/3.4.0/ http://dev.sencha.com/deploy/ext-3.x/docs/ http:

Windows Phone 带文本信息的进度条

2. [图片Windows Phone 带文本信息的进度条 详细说明:http://wp.662p.com/thread-7980-1-1.html

C# Windows 7任务栏开发之进度条(Progress Bar)

Windows 7 任务栏为我们增添了许多其他功能:Jump Lists,Window Preview,Progress Bar,Overlay Icon 等等. 新任务栏的功能使我们的操作更加方便快捷,微软提供了方便的工具Windows API Code Pack for .NET Framework 来帮助我们完成这些开发,程序中增加Microsoft.WindowsAPICodePack.dll 和Microsoft.WindowsAPICodePack.Shell.dll. 在使用IE

C#.NET中使用BackgroundWorker在模态对话框中显示进度条

这里是一个示例,其中展示了如何使用Backgroundworker对象在模态对话框中显示后台操作的实时进度条. 首先是主窗体代码: 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;