程序执行期间Windows窗体被困

时间:2014-02-20 13:37:41

标签: c# visual-studio windows-forms-designer

我有一个应用程序,可以读取主窗体上的数据以及弹出窗口。在我的应用程序的主要表单上,我正在阅读ASCII中的实时串行通信。在我的弹出窗口中,我的程序正在分析该数据并捕获通过/失败方案。

当我执行我的程序时,它按预期工作。但是,当程序运行时(大约需要2分钟)我无法在屏幕上移动弹出窗口或最小化我的主应用程序窗口。就好像它们在操作完成之前一直停滞不前。我没有收到“无响应”消息,并试图弄清楚如何在操作过程中移动/最小化/关闭窗口。

多线程的答案是什么?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

你可能正在执行一些非常长的'主线程'。尝试创建一个新的“线程”来运行这个非常大的操作,并且你的表单不会被锁定。

答案 1 :(得分:0)

您需要使用多线程,或者某些async / await操作。

http://msdn.microsoft.com/en-us/library/ms173178.aspx

http://msdn.microsoft.com/en-us/library/vstudio/hh191443(v=vs.110).aspx

希望这有帮助!