2013-06-21 62 views
-1

我想做一个Windows窗体应用程序,显示所有正在运行的任务,而他们正在运行。如果我想要,我想单独停止任务。我有应用程序作为控制台应用程序工作,但是当我尝试将其构建为Windows窗体应用程序时,它就会出现问题。这是我的代码如何工作。多线程与Windows窗体C#

    • 使任务
    • 其存储在一个列表
    • 启动任务=
  • 结束循环

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

+0

你能提供代码吗? – kobigurk

+7

*“当我尝试将它构建为Windows窗体应用程序时,它会出现问题”*您从来没有告诉过我们什么是错误的,请详细解释您得到的错误(如果有的话)以及您看到的行为和行为你期望看到。也请包括任何可能与错误相关的代码。 –

+0

“它拧紧” - 肯定问题比这更具体?喜欢,也许那里有一个_exception_? – Brian

回答

3

我有作为控制台应用程序工作的应用程序,但是当我尝试将它构建为Windows窗体应用程序时,它就会关闭。

前提是你没有端口到Windows窗体中改变你的逻辑,这可能是由于更新的Windows窗体从任务中后台线程控制。

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

+0

我觉得这可能是这个问题,但我didn在我们从OP获得更多细节之前,我们不想跳到任何结论。 –

+0

@ScottChamberlain是的 - 我质疑它,但鉴于OP指定他们有一个“在控制台应用程序中的工作版本”,并切换到Windows窗体,它不工作,这是总体上,线程#1的问题和Windows窗体,所以我会给它很大的可能性成为问题:) –