对于我正在处理的项目,我使用一组DataGridView组件来显示一些数据。每个DataGridView都有自己的DataTable关联它。要显示的数据是定期发送的。我的应用程序必须读取这些数据,解析它并相应地填充数据网格。因为我想维护表单的响应能力,所以我在无尽的后台工作人员中实现了数据接收(阻塞)。从线程更新数据绑定数据表安全吗?
在后台worker中,我获取数据并将其解析/转换为适合DataTable的值。现在这是我的问题:目前我将这些值直接分配给DataTable对象。 (所以我从背景工作者的DoWork事件中这样做)
我想知道这是否有效。我确实有索引超出界限例外,我想知道这是否与此有关。这是一个安全和推荐的方式,或者我应该在我的BackgroundWorker的DoWork事件中使用调用来更新DataTables?
为什么你会用这个单线程?看起来你应该为每个控件使用一个Background Worker。你应该做Invokes,不完全确定你在做什么,如果你想要更详细的回复,请提供代码。 – 2012-07-11 14:40:56