【问题标题】:Update DataGridView from thread从线程更新 DataGridView
【发布时间】:2014-06-01 18:27:07
【问题描述】:

所以我有一个简单的 DataGridView,其中的行包含姓名、姓氏、状态。

现在我有另一个子正在启动 5 个线程。每个线程都会完成它的工作并根据其结果更新 DGV。

问题是我必须为 DGV 运行线程访问更新方法:

_namethread= New Thread(AddressOf namethread)
_namethread.IsBackground = True
_namethread.SetApartmentState(ApartmentState.STA)

使用 set STA,我最终没有错误,但 DGV 没有更新,也没有任何反应。看起来简单的更新方法调用正在跳过(在更新方法上我确实有 Application.DoEvents 以防万一)

还有另一件事。我想使用线程来更新数据库、刷新其他表的 DGV 等。

问题是我知道如何从线程访问文本框(通过委托方法),但我不知道如何通过 SQL 查询甚至 DHV 访问数据库来显示进度。

也许我应该使用事件提升器或其他东西。

你平时是怎么做的 :) ? 如果我要创建自定义事件是正确的,我可以从线程中调用它吗?

这个 DoEvents 是否像其他 subs 一样工作(所以它会逐步处理所有发生的事件,例如会更新数据库中的 6 条记录?)

类似于队列的东西?

我只需要知道我应该在哪个方向使用线程(就像我想对非常多线程的应用程序那样)

【问题讨论】:

标签: database multithreading datagridview


【解决方案1】:

我想我通过使用委托解决了这个问题。

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多