Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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# 将窗体显示为对话框的主线程,如何使用辅助线程以编程方式关闭它?_C#_.net_Winforms - Fatal编程技术网

C# 将窗体显示为对话框的主线程,如何使用辅助线程以编程方式关闭它?

C# 将窗体显示为对话框的主线程,如何使用辅助线程以编程方式关闭它?,c#,.net,winforms,C#,.net,Winforms,我想关闭一个通过主线程显示为对话框的窗体。我正在使用beginInvoke显示该对话框,并希望在工作线程完成自己的任务时关闭或隐藏该对话框。如果使用BackgroundWorker,则会出现一个可用事件:“OnRunWorkerCompleted”-如果工作线程已完成,则会触发该事件 您可以使用此事件关闭表单。如果您使用BackgroundWorker,则有一个可用事件:“OnRunWorkerCompleted”-如果工作人员已完成,则会触发该事件 您可以使用此事件关闭表单。与显示表单相同,要

我想关闭一个通过主线程显示为对话框的窗体。我正在使用beginInvoke显示该对话框,并希望在工作线程完成自己的任务时关闭或隐藏该对话框。

如果使用BackgroundWorker,则会出现一个可用事件:“OnRunWorkerCompleted”-如果工作线程已完成,则会触发该事件


您可以使用此事件关闭表单。

如果您使用BackgroundWorker,则有一个可用事件:“OnRunWorkerCompleted”-如果工作人员已完成,则会触发该事件


您可以使用此事件关闭表单。

与显示表单相同,要关闭表单,您还可以使用BeginInvoke()或Invoke()


或者,如果代码在表单本身内部,则将表单替换为

与显示表单相同,对于关闭表单,您还可以使用BeginInvoke()或Invoke()


或者,如果代码在表单本身内部,用this

替换表单,我将尝试BackgroundWorker,但是关于我正在使用的工作线程还有其他想法吗?什么是工作线程?你是说线?我会尝试BackgroundWorker,但我使用的工作线程还有其他想法吗?什么是工作线程?你是说线?我尝试了BeginInvoke()和Invoke(),但没有成功。对不起。我提供了示例。我尝试了BeginInvoke()和Invoke(),但没有成功。抱歉。我提供了样品。
form.Invoke(new Action(form.Close));