热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【2009122901】BackgroundWorker控件用法

名称说明CancelAsync请求取消挂起的后台操作。CreateObjRef创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。࿰
 名称 说明
Public methodCancelAsync 请求取消挂起的后台操作。
Public methodCreateObjRef  创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (从 MarshalByRefObject 继承。)
Public methodDispose  已重载。 释放由 Component 占用的资源。 (从 Component 继承。)
Public methodEquals  已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。)
Public methodGetHashCode  用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)
Public methodGetLifetimeService  检索控制此实例的生存期策略的当前生存期服务对象。 (从 MarshalByRefObject 继承。)
Public methodGetType  获取当前实例的 Type。 (从 Object 继承。)
Public methodInitializeLifetimeService  获取控制此实例的生存期策略的生存期服务对象。 (从 MarshalByRefObject 继承。)
Public methodStaticReferenceEquals  确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
Public methodReportProgress 已重载。 引发 ProgressChanged 事件。
Public methodRunWorkerAsync 已重载。 开始执行后台操作。
Public methodToString  返回包含 Component 的名称的 String(如果有)。不应重写此方法。 (从 Component 继承。)

 

(请参见 受保护的属性 )

 名称 说明
Public propertyCancellationPending 获取一个值,指示应用程序是否已请求取消后台操作。
Public propertyContainer  获取 IContainer,它包含 Component。 (从 Component 继承。)
Public propertyIsBusy 获取一个值,指示 BackgroundWorker 是否正在运行异步操作。
Public propertySite  获取或设置 ComponentISite。 (从 Component 继承。)
Public propertyWorkerReportsProgress 获取或设置一个值,该值指示 BackgroundWorker 能否报告进度更新。
Public propertyWorkerSupportsCancellation 获取或设置一个值,该值指示 BackgroundWorker 是否支持异步取消。

 

 

ExpandedBlockStart.gif代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace BackgroundWork
{
    
public partial class Form1 : Form
    {
        
public Form1()
        {
            InitializeComponent();
            
this.backgroundWorker.WorkerReportsProgress = true;
            
this.backgroundWorker.WorkerSupportsCancellation = true;
        }
        
/// 
        
/// 处理耗时操作,不能与UI交互(不能出现UI控件)
        
/// 

        
/// 
        
/// 
        private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            
for (int i &#61; 0; i < 1001; i&#43;&#43;)
            {
                
//--backgroundWorker.CancelAsync方法请求取消后台操作后,
                
//--backgroundWorker.CancelAsync属性为True
                if (this.backgroundWorker.CancellationPending)
                {
                    e.Cancel 
&#61; true;//取消事件
                    break;
                }
                Thread.Sleep(
10);
                
this.backgroundWorker.ReportProgress(i,"处理中");
                
//e.Result &#61; i ;
            }
        }

        
/// 
        
/// 耗时操作过程中与UI交互,比如显示进度
        
/// 

        
/// 
        
/// 
        private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            
this.progressBar1.Value &#61; e.ProgressPercentage;
          
            
int per&#61;(this.progressBar1.Value/10);

            
this.label1.Text &#61; per.ToString()&#43;"%";
            
this.Text &#61; e.UserState.ToString();
            
        }

        
private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            
if (e.Cancelled)
            {
                MessageBox.Show(
"操作被取消");
                
this.progressBar1.Value &#61; 0;
                
this.label1.Text &#61; "0%";
            }
            
else
            {
                MessageBox.Show(
"完成");
                
this.Text &#61; "完成";
            }
        }

        
private void button1_Click(object sender, EventArgs e)
        {
            
            
this.backgroundWorker.RunWorkerAsync();

        }

        
private void button2_Click(object sender, EventArgs e)
        {
            
this.backgroundWorker.CancelAsync();
        }
    }
}

 

 

转:https://www.cnblogs.com/willwayer/archive/2009/12/29/1634629.html



推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
author-avatar
吸毒草的秘密
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有