1

可能重复:
C# WinForm 应用程序 - UI 在长时间运行期间挂起

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

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

4

2 回答 2

3

如果您不想深入了解线程和线程的内部结构,我建议您使用 BackgroundWorker 控件来完成您的任务。Background worker 控件在幕后封装了很多线程的东西,为您提供一个干净的编程接口。

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

BackgroundWorker 的正确使用方法

于 2012-07-11T12:57:59.463 回答
0

尝试在以下位置编写代码:

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

因为如果没有任务,您的代码和 UI 会在同一线程上运行,这会导致速度变慢

于 2012-07-11T04:21:34.747 回答