Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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_Multithreading - Fatal编程技术网

C# 关于模态形式和螺纹的问题

C# 关于模态形式和螺纹的问题,c#,.net,multithreading,C#,.net,Multithreading,在主线程中,我需要执行以下操作: 创建第二个线程,我将 显示将用作 “活动指标” 启动任务(此任务必须从主线程执行) 关闭在第二个线程中创建的模态窗体 问题是,我不知道如何显示模态形式而不停止主线程 有什么建议吗?我会使用线程池。。。类似于 ThreadPool.QueueUserWorkItem(o => dlg.Show()); 这将在单独的线程上启动对话框。您的主线程将继续处理。这将不是模态。您需要使用ThreadPool.QueueUserWorkItem(()=>dlg.Sho

在主线程中,我需要执行以下操作:

  • 创建第二个线程,我将 显示将用作 “活动指标”
  • 启动任务(此任务必须从主线程执行)
  • 关闭在第二个线程中创建的模态窗体
  • 问题是,我不知道如何显示模态形式而不停止主线程


    有什么建议吗?

    我会使用线程池。。。类似于

    ThreadPool.QueueUserWorkItem(o => dlg.Show());
    

    这将在单独的线程上启动对话框。您的主线程将继续处理。

    这将不是模态。您需要使用ThreadPool.QueueUserWorkItem(()=>dlg.ShowDialog(this););里奇,谢谢你的回复。实际上,我知道如何从第二个线程显示表单。我不知道的是如何在第二个线程中将表单显示为模态,然后在我从主线程完成工作后,告诉第二个线程关闭表单。我最终解决了我的问题,在表单中放入了一个控制变量。有点像“糖果”。我在第二个线程中做showmodel(线程没有死)我在主线程中做我想做的事情,然后我将canDie切换到true inside de form,它关闭并完成我的第二个线程。反正我把你吐了。谢谢。另一个观察:模态形式在另一个线程中不是真正的模态。为了使它们正确运行,我们必须将最顶层的属性设置为true