大家好我有一个BAckground工作者和一个数据表。我也有一个计时器。我在计时器中填充数据表并在Backgroundworker_Progress中更改我将其作为我的DataSource指定给我的DataGrid。但即使在这个过程完成之后。我的后台工作者没有完成。我的应用程序崩溃了。这只有在我直接启动我的exe时才会发生
答案 0 :(得分:3)
我同意@Simon。粘贴一些代码,以便我们了解可能出错的地方。 另外,你为什么要使用计时器?
请勿在{{1}}事件中指定DataTable
。在ProgressChanged
事件中执行此操作。以下是我认为你应该做的事情:
RunWorkerCompleted
答案 1 :(得分:1)
如果不执行invoke(),则无法从后台线程访问GUI控件。
我怀疑这是你的问题,如果不是,你可能需要提供导致问题的部分代码。
有关详细信息,请参阅:
如果您将后台工作程序中的代码包装在Try / Catch块中,或者更改Visual Studio设置以显示所有异常,您将看到一个异常,解释出现了什么问题。