我使用 C# 和 .NET Framework 4.0 创建了一个 Windows 窗体应用程序。我有一个问题,当程序正在工作时,我无法在窗口中移动,如果我最小化它,我就无法让它回来。我认为这是因为我正在运行 UI 的同一线程上工作。
这可能是原因吗?如果是这样,我该如何解决?
我使用 C# 和 .NET Framework 4.0 创建了一个 Windows 窗体应用程序。我有一个问题,当程序正在工作时,我无法在窗口中移动,如果我最小化它,我就无法让它回来。我认为这是因为我正在运行 UI 的同一线程上工作。
这可能是原因吗?如果是这样,我该如何解决?
如果您不想深入了解线程和线程的内部结构,我建议您使用 BackgroundWorker 控件来完成您的任务。Background worker 控件在幕后封装了很多线程的东西,为您提供一个干净的编程接口。
以下链接可能对您有所帮助(由我编写)
尝试在以下位置编写代码:
System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
{
//your code goes here
}));
因为如果没有任务,您的代码和 UI 会在同一线程上运行,这会导致速度变慢