是否有一种简单,实际可重用的方法/方法来执行长时间运行的跨线程操作?我的意思是,我需要一些需要一段时间的东西(发送邮件,上传到数据库和FTP服务器),但我还需要同时与表格及其控件进行交互。
答案 0 :(得分:4)
答案 1 :(得分:1)
查看BackgroundWorker
课程。这将允许在更新UI时运行长时间运行的进程,而无需手动Invoke()
UI线程的UI更新,如果手动使用线程,则必须执行此操作。
答案 2 :(得分:0)
您希望表单的Invoke / BeginInvoke方法允许使用UI进行corssthread操作。
最好是创建一个在另一个线程中执行长任务的类,并有一些事件来表示表单,然后在表单中你可以使用this.BeginInvoke来执行主线程中的UI操作。