文档介绍:[托盘天平的使用方法]托盘天平使用方法篇一:托盘天平使用方法篇二:使用委托的BeginInvoke方法来完成复杂任务的操作现在假设我有这样一个窗体,在第一个文本框中输入一个数字进行阶乘运算,在此过程中进度条与运算进度保持一致,同时可以在第二个文本框中进行其它工作。对付这样的题目,除了使用BackGroundWorker之外还可以使用异步Invoke来完成:首先让我们看看界面以及对应的代码:[C#]namespaceCSharp{publicpartialclassForm1:Form{longresult=1;longPGo{while{result*=endnum;+=1;;endnum--;}returnresult;}publicForm1{ponent;}privatevoidForm1_Load{}privatevoidbutton1_Click{=;Funca=newFunc;//BeginInvoke先启动后台线程做循环varresult=,//如果完成了循环,那么执行此委托delegate{if{;=.;}},a);//,此方法将导致当前进程宕住,直到后台线程完毕为止。因为WinForm主线程不会自动关闭,所以//无需此线程,但是控制台程序必须要~因为控制台进程“瞬间即逝”。}}}[]NamespaceCSharpPublicPartialClassForm1InheritsFormPrivateresultAsLong=='BeginInvoke先启动后台线程做循环'如果完成了循环,那么执行此委托Dimresult=,=TryCast).,a)',此方法将导致当前进程宕住,直到后台线程完毕为止。因为WinForm主线程不会自动关闭,所以'无需此线程,但是控制台程序必须要~因为控制台进程“瞬间即逝”。EndSubEndClassEndNamespace解释一些关键部分:1)BeginInvoke:此方法将“异步”执行委托所指向的那个方法。所谓“异步”,就是结果并不是像调用“Invoke”方法一样直接就出现结果,BeginInvoke将在内部开辟一个新线程去执行这个委托方法。因为是后台线程,因此如果主程序一旦关闭或者停止,无论后台线程的任务是否执行完毕,都将自动终止。本示例因为是WinFor