摘要:
上文在《C# 使用BackgroundWorker实现WinForm异步》介绍了如何通过BackgroundWorker实现winForm异步通信,下面介绍如何通过BackgroundWorker实现进度条显示。实现效果图如下所示: 要实现此功能,首先需要创建一个带有进度条的窗体,取名为:frmProcess,窗体中添加processBar和一个Label进行,设置这两个控件的Modifiers值为public。接下来在上文的代码基础上进行操作。(1) 定义全局窗体变量 接着上文中的代码,在窗体Form1下定义变量:1 frmProcess myProcess;(2)Start按钮... 阅读全文
posted @ 2013-11-21 15:48
Peter.Luo
阅读(3863)
评论(1)
推荐(0)
摘要:
一、C# Thread类的基本用法 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法。可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返回void)的委托(ThreadStart),这个委托的定义如下: [ComVisibleAttribute(true)] public delegate void ThreadStart() 我们可以通过如下的方法来建立并运行一个线程。 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; ... 阅读全文
posted @ 2013-11-21 15:15
Peter.Luo
阅读(39293)
评论(4)
推荐(4)
摘要:
写了一个基于BackgorundWorker演示异步操作的例子。由于这个理基本上实现了BackgorundWorker的大部分功能:异步操作的启动、操作结束后的回调、异步操作的撤销和进度报告等等。尽管没有太多的技术含量,姑且放上来与大家分享。1、场景描述下面是程序运行时的截图。本程序模拟这样的一个场景:有两组相互独立的数据需要逐条获取和显示,当点击Start按钮,以异步的方式从存储介质中逐条获取数据,并将获取的数据追加到对应的ListBox中,ProgressBar真实反映以获取的数据条数和总记录条数的百分比,同时,当前获取的条数也会在下方的Label上随着操作的继续而动态变化。此外通过点击S 阅读全文
posted @ 2013-11-21 14:56
Peter.Luo
阅读(1823)
评论(0)
推荐(2)
摘要:
BackgroundWorker 组件用来执行诸如数据库事务、文件下载等耗时的异步操作。开始在应用程序中添加一个BackgroundWorker实例,如果用的是VS,可以从工具上直接拖到应用程序:BackgroundWorker backgroundWorker1 =newBackgroundWorker();为了开始在后台操作,必须调用BackgroundWorker的RunWorkerAsync()方法,当调用此方时,BackgroundWorker 通过触发DoWork 事件,开始执行后台操作,DoWork 事件的代码是在另一个线程里执行的。代码如下:代码一:BackgroundWork 阅读全文
posted @ 2013-11-21 14:05
Peter.Luo
阅读(2031)
评论(0)
推荐(0)
摘要:
在本案例中利用Graphics对象动态地绘制直线和曲线。程序运行后,选择“直线”单选按钮,然后按下鼠标左键拖动鼠标就可以绘制直线,选择“曲线”单选按钮,然后移动鼠标就可以绘制曲线。制作要点:1.Graphics对象的应用。2.窗体的MouseUp事件和MouseDown事件的应用。3.窗体的MouseMove事件的应用。4.Graphics对象的DrawLine()方法的应用。 该方法可以绘制一条线条,其语法结构如下: public void DrawLine(System.Drawing.Pen pen,float x1,float y1,float x2,float y2) 各参数意义如下 阅读全文
posted @ 2013-11-21 13:58
Peter.Luo
阅读(13267)
评论(0)
推荐(1)