Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 如何在不使用wait()方法的情况下等待事件完成?_C# 4.0 - Fatal编程技术网

C# 4.0 如何在不使用wait()方法的情况下等待事件完成?

C# 4.0 如何在不使用wait()方法的情况下等待事件完成?,c#-4.0,C# 4.0,我正在开发一个应用程序,在这个应用程序中,我需要等待一个事件完成,然后才能提出新的请求。例如:-如果有人单击记录处理应用程序中的中止按钮,我需要确保该应用程序仅在当前记录处理完成时存在。我的应用程序中没有使用线程 我的问题是,我们实现这一目标的有效途径是什么?一个示例代码将非常有帮助 我不确定,但如果您没有在后台使用任何类型的异步处理(通过任何方式,而不仅仅是普通线程),那么您的应用程序关闭将推迟到当前处理完成 因此,这种行为是开箱即用的。所以我能理解的是,即使我在Abort button事件中

我正在开发一个应用程序,在这个应用程序中,我需要等待一个事件完成,然后才能提出新的请求。例如:-如果有人单击记录处理应用程序中的中止按钮,我需要确保该应用程序仅在当前记录处理完成时存在。我的应用程序中没有使用线程


我的问题是,我们实现这一目标的有效途径是什么?一个示例代码将非常有帮助

我不确定,但如果您没有在后台使用任何类型的异步处理(通过任何方式,而不仅仅是普通线程),那么您的应用程序关闭将推迟到当前处理完成


因此,这种行为是开箱即用的。

所以我能理解的是,即使我在Abort button事件中编写Application.close(),它也会等待后台处理结束?所以,如果需要处理1000条记录,我在第998条记录处单击“中止”,它将完成处理第998条记录,然后退出。这就是你的意思吗?这种魔法是不存在的。BackgroundWorker和Task类旨在帮助您实现这一点。@Bose_geek我想您的意思是“退出”而不是“存在”?