C# 使用BackgroundWorker处理多个操作
我在winform上有一个DataGridView。我在表单的加载方法中动态添加DatagridViewButtonColumn,按钮名称为btnAction,文本显示为“Process” 因此,网格中的每一行的最后一列中都会有这个进程按钮 单击此按钮的事件时,我正在使用BackgroundWorker调用一个进行一些计算的方法。计算结束后,我需要将网格中该行中单击按钮的文本更新为“已处理”。现在,我如何处理这种情况?--> 用户单击多个进程按钮,我需要触发网格中所有对应行的计算。是否可以使用BackgroundWorker或我需要在此处使用线程处理C# 使用BackgroundWorker处理多个操作,c#,winforms,multithreading,datagridview,backgroundworker,C#,Winforms,Multithreading,Datagridview,Backgroundworker,我在winform上有一个DataGridView。我在表单的加载方法中动态添加DatagridViewButtonColumn,按钮名称为btnAction,文本显示为“Process” 因此,网格中的每一行的最后一列中都会有这个进程按钮 单击此按钮的事件时,我正在使用BackgroundWorker调用一个进行一些计算的方法。计算结束后,我需要将网格中该行中单击按钮的文本更新为“已处理”。现在,我如何处理这种情况?--> 用户单击多个进程按钮,我需要触发网格中所有对应行的计算。是否可以使用B
如果可能,请帮助编写代码片段。我在使用BackgroundWorker流程时遇到过类似的情况 下面的Codeproject文章帮了我很大的忙
简单的回答是,同一个BackgroundWorker在运行时不能再次调用。如果这样做,您将得到一个错误: 此BackgroundWorker当前正在运行 忙,无法运行多个任务 同时 此问题已在StackOverflow上讨论: 您需要做的是为每个按钮创建一个新的后台工作程序,或者将后台工作程序请求排队。有一个排队的后台工作程序实现 无论您选择哪种方式,都需要注意您编写的代码都是线程安全的。
将向您展示如何处理backgroundworker.runworkercompleted事件,该事件将允许您在backgroundworker完成后执行某些操作(无论是错误还是完成,您都必须进行检查)。bust->busy?-我想我更喜欢bust:)下面是一个例子,为什么我们应该复制StackOverflow上的代码示例,而不是仅仅链接资源……对于上下文,这个问题在前面被问到,后台工作人员的响应是什么问题。现在我认为问题在于运行多个后台进程@用户74042对吗?是的,没错,大卫。谢谢。