Windows窗体应用程序 - 缓慢/无响应的UI

时间:2012-07-11 04:09:11

标签: c# .net winforms multithreading user-interface

  

可能重复:
  C# WinForm Application - UI Hangs during Long-Running Operation

我使用C#和.NET Framework 4.0创建了一个Windows窗体应用程序。我遇到了一个问题,当程序正在工作时,我无法在窗口移动,如果我最小化它,我无法让它回来。我假设这是因为我正在运行UI的同一个线程上工作。

这可能是原因吗?如果是这样,我该如何解决?

2 个答案:

答案 0 :(得分:3)

如果您不想进入线程和线程的内部,我建议使用BackgroundWorker控件来完成您的任务。后台工作程序控件在幕后封装了很多线程,为您提供了一个干净的编程接口。

以下链接可能对您有帮助(由我撰写)

Correct way to use the BackgroundWorker

答案 1 :(得分:0)

尝试编写代码:

            System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
            {
                //your code goes here
            }));

因为没有任务,你的代码和UI在同一个线程上运行会导致减速