-1

我正在尝试制作一个 Windows 窗体应用程序,显示所有正在运行的任务。如果我愿意,我想单独停止任务。我将应用程序作为控制台应用程序工作,但是当我尝试将其构建为 Windows 窗体应用程序时,它搞砸了。这是我的代码的工作原理。

  • 环形
    • 做一个任务
    • 将其存储在列表中
    • 开始任务=
  • 结束循环

我想在我的表单中的 listView 中显示此列表,并每隔几秒钟更新一次,显示此任务的名称和状态。有人可以帮助我或建议阅读多线程的好书。谢谢。

4

1 回答 1

3

我将应用程序作为控制台应用程序工作,但是当我尝试将其构建为 Windows 窗体应用程序时,它搞砸了。

如果您在移植到 Windows 窗体期间没有更改逻辑,这可能是由于从任务中的后台线程更新了 Windows 窗体控件。

您只能从主 (UI) 线程使用 Windows 窗体控件,而不能从后台线程使用。如果要对 UI 执行更新,则需要使用Control.InvokeControl.BeginInvoke将调用编组回 UI 线程。

于 2013-06-21T18:57:56.083 回答