所以我有简单的DataGridView,其行包含name,surname,status。
现在我有另一个子线程,它开始5个线程。每个线程都会完成它的工作并根据结果更新DGV。
问题是为DGV运行线程访问更新方法我必须设置:
_namethread= New Thread(AddressOf namethread)
_namethread.IsBackground = True
_namethread.SetApartmentState(ApartmentState.STA)
使用set STA I最终没有错误但是DGV没有更新且没有任何反应。看起来调用更新方法简单就是跳过(在更新方法上我确实有Application.DoEvents以防万一)
还有另外一件事。我想使用线程来更新数据库,为其他表刷新DGV等等。
我知道如何从线程访问文本框(通过委托方法),但我不知道如何通过SQL查询甚至DHV访问数据库来显示进度。
也许我应该使用事件提升器或其他东西。
你通常如何做到这一点:)? 如果我是正确的,如果我要创建自定义事件,我可以从线程调用它吗?
这个DoEvents是否像其他潜艇一样工作(所以它会逐步通过所有上升的事件,所以例如会更新数据库中的6条记录?)
像队列一样?
我只需要知道我应该在哪个方向上使用线程(因为我想要对非常多线程的应用程序执行)
答案 0 :(得分:0)
我想我是通过使用代表来解决这个问题的。