backgroundWorker 用法 backgroundWorker 用法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void toolStripButtonUpload_Click(object sender, EventArgs e) { try { //其它操作 this.backgroundWorkerUpload.RunWorkerAsync(list); } catch (Exception ex) { this.toolStripButtonUpload.Enabled = true; this.m_Helper.ShowException(ex); } } //进度显示 private void backgroundWorkerUpload_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.progressBar.Value = e.ProgressPercentage; this.labTip.Text = string.Format("{0}", Properties.Resources.Message_Executing); this.progressBarLabTip.Text = string.Format("{0}%", e.ProgressPercentage); } //操作完成 出现错误的时候会调用此方法 private void backgroundWorkerUpload_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { this.progressBar.Visible = false; this.progressBarLabTip.Visible = false; this.labTip.Text = Properties.Resources.Message_LabTipDefaultText; this.toolStripButtonUpload.Enabled = true; this.toolStripButtonUploadCancel.Enabled = false; } //执行数据操作 不能操作界面上的东西 private void backgroundWorkerUpload_DoWork(object sender, DoWorkEventArgs e) { Cursor.Current = Cursors.AppStarting; try { LogisticsHelper.LogisticsServiceProxy.AddPUPArchive(this.m_Helper.Ticket, info); worker.ReportProgress((int)((float)(completed) / (float)total * 100), new ProgressUserState(true, info, null)); } catch (Exception ex) { worker.ReportProgress((int)((float)(completed) / (float)total * 100), new ProgressUserState(false, info, ex)); } completed++; } } } 谢谢大家! david_anwei(家九) 能给我个完整的例子吗? http://msdn2.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker(VS.80).aspxhttp://idior.cnblogs.com/archive/2005/08/18/217796.html 无法显示阿!http://idior.cnblogs.com/archive/2005/08/18/217796.html 怪了,刚才还可以的Google backgroundWorker 例子一大堆 c#截取字符串 重复怎么弄? c# 代码中控件名和属性名同名在visual 2003 中能运行,在2005报重名错误,如何改成2005代码 问了几个群的朋友都没有搞定的小问题.....高手帮忙... C#里调用C++ dll的函数的结构体参数问题 怎么讲c#应用程序编写完的程序写成exe安装文件或可执行文件 C# MQ 连接问题 紧急提问,请问如msn等在任务条的通知区域弹出消息,位置如何确定的, 关于微软的WebCast急 !拜托 AJAX的问题(急急急) 怎么让div层固定在屏幕中间,不随滚动条拖动而不见了。 泛型的问题 C#中自带报表的问题?
{
try
{
//其它操作
this.backgroundWorkerUpload.RunWorkerAsync(list);
}
catch (Exception ex)
{
this.toolStripButtonUpload.Enabled = true; this.m_Helper.ShowException(ex);
}
} //进度显示
private void backgroundWorkerUpload_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
this.progressBar.Value = e.ProgressPercentage; this.labTip.Text = string.Format("{0}", Properties.Resources.Message_Executing);
this.progressBarLabTip.Text = string.Format("{0}%", e.ProgressPercentage);
} //操作完成 出现错误的时候会调用此方法
private void backgroundWorkerUpload_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.progressBar.Visible = false;
this.progressBarLabTip.Visible = false;
this.labTip.Text = Properties.Resources.Message_LabTipDefaultText; this.toolStripButtonUpload.Enabled = true;
this.toolStripButtonUploadCancel.Enabled = false;
}
//执行数据操作 不能操作界面上的东西
private void backgroundWorkerUpload_DoWork(object sender, DoWorkEventArgs e)
{
Cursor.Current = Cursors.AppStarting; try
{
LogisticsHelper.LogisticsServiceProxy.AddPUPArchive(this.m_Helper.Ticket, info); worker.ReportProgress((int)((float)(completed) / (float)total * 100), new ProgressUserState(true, info, null));
}
catch (Exception ex)
{
worker.ReportProgress((int)((float)(completed) / (float)total * 100), new ProgressUserState(false, info, ex));
}
completed++;
}
}
}
怪了,刚才还可以的
Google backgroundWorker
例子一大堆