我想在后台线程中更新 System.Data.DataTable:
m_MyThread = new Thread(UpdateIt) {
isBackground = true,
Priority = ThreadPriority.Normal };
public void UpdateIt()
{
var adapter = new DataSetAdapter();
adapter.Fill(MyDataTable);
adapter.Dispose();
m_MyThread = null;
}
但是,有一个问题。在 UserControls 堆栈中打开了一个 UserControl(视图),其中包含一个控件(如列表框),该控件绑定到此 DataSet 中数据表(MyOtherDataTable.DefaultView)上的 DataView(甚至未绑定到我正在尝试的 MyDataTable填写)。
结果,当尝试创建/BringToFront 另一个控件时,mscore.dll 死得很惨。它会抛出一个 cedevice.log 和 kdmp 文件(我曾尝试使用 Watson 对其进行分析)。
我想知道是否有办法解决这个问题。我什至尝试在 Form.Timer() 中执行此操作......但结果是一样的。
在前台线程中执行“填充”时,一切正常。
提前感谢您的任何见解....