backgroundworker控件

该控件是一个支持界面异步操作的方法,包含DoWorkProgressChangedRunWorkerCompleted等几个主要事件,在后台运行代码时可保持前台界面进度的更新显示

详细介绍及示例:

https://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.110).aspx

时间: 2024-08-07 04:33:59

backgroundworker控件的相关文章

BackgroundWorker控件使用(一)

BackgroundWorker控件简介 使用BackgroundWorker控件可以在后台单独的线程上执行操作,通常用于数据库操作.文件下载等相对耗时一般要求后台处理的任务.使用起来比较简单,如果需要后台处理的任务少的话,①在VS中可以直接从工具箱中拖一个BackgroundWorker到主界面中即可,自动命名backgroundWorker1.②或者手动声明初始化BackgroundWorker类新实例:BackgroundWorker bgw=new BackgroundWorker():

C#中的BackgroundWorker控件

C#中的BackgroundWorker控件 Keywords: C# .NET BackgroundWorkerSource: http://txw1958.cnblogs.com/ BackgroundWorker是.NET Framework 里用来执行多线程任务的控件,它允许开发人员在一个单独的线程上执行一些操作.耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 始终处于停止响应状态.如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用

BackGroundWorker控件的使用注意

该控件有三个事件: DoWork .ProgressChanged 和 RunWorkerCompleted 在程序中调用RunWorkerAsync方法则会启动DoWork事件的事件处理,当在事件处理过程中,调用 ReportProgress方法则会启动ProgressChanged事件的事件处理,而当DoWork事件处理完成时,则会触发RunWorkerCompleted事件. 您必须非常小心,确保在 DoWork 事件处理程序中不操作任何用户界面对象.而应该通过 ProgressChang

线程间操作无效:从不是创建控件的线程访问它的三种方法

访问 Windows 窗体控件本质上不是线程安全的.如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包括争用情况和死锁.确保以线程安全方式访问控件非常重要. 解决办法 1.把CheckForIllegalCrossThreadCalls设置为false 在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为

BackgroundWorder控件

BackgroundWorder控件: BackgroundWorker控件顾名思义,是执行后台工作的控件,准确来说,是在非主线程上执行操作的控件.该类型定义在System.ComponentModel命名空间,该控件的使用非常简单,只要在工具库中把该控件拖动到界面就可以了. 比较重要的属性: CancellationPending:只读属性,表示应用程序是否已经取消后台操作 IsBuys:只读属性,表示控件是否正在进行异步操作. WorkerReportsProgress:表示该控件能否报告进

线程间操作无效: 从不是创建控件的线程访问它的三种方法

原文:http://www.cnblogs.com/luckboy/archive/2010/12/19/1910785.html 1.把CheckForIllegalCrossThreadCalls设置为false 2.利用委托 delegate void SetTextCallBack(string text); private void SetText(string text) { if (this.txt_a.InvokeRequired) { SetTextCallBack stcb

C#跨线程操作控件的最简单实现探究

随着程序复杂度的提高,程序不可避免会出现多个线程,此时就很可能存在跨线程操作控件的问题. 跨线程操作UI控件主要有三类方式: 1.禁止系统的线程间操作检查.(此法不建议使用) 2.使用Invoke(同步)或者BeginInvoke(异步).(使用委托实现,并用lambda表达式简化代码) 3.使用BackgroundWorker组件.(此法暂不介绍,详情可见文末的参考资料) 先看一个跨线程操作失败的例子: 新建一个Winform窗口程序项目,拖一个button1和label1控件到Form1窗体

WinFrom ProgressBar控件的使用

在WinForm程序中,大多数情况下我们是知道程序运行所需要的时间或步骤的,比如批量复制文件时文件的数量,数据导出或导入时数据的总行数等等.对于步骤比较确定的操作,如果程序执行过程时间较长,很容易使用BackgroundWorker结合ProgressBar来显示一个实时的进度.相关内容大家可以看我博客中的其它文章,有关如何使用BackgroundWorker和ProgressBar.但是,有的时候我们是不确定程序执行的具体步骤或时长的,比如连接一个远程服务或数据库服务,或者调用一个远程过程或W

ASP.NET 控件前缀命名规范

标准控件 1  btn Button 2  chk CheckBox 3  ckl CheckedListBox 4  cmb ComboBox 5  dtp DateTimePicker 6  lbl Label 7  llb LinkLabel 8  lst ListBox 9  lvw ListView 10  mtx MaskedTextBox 11  cdr MonthCalendar 12  icn NotifyIcon 13  nud NumeircUpDown 14  pic P