数据网格视图错误: 由于未处理的异常,进程已终止
本文关键字:异常 进程 终止 未处理 网格 数据网 视图 错误 数据 | 更新日期: 2023-09-27 18:35:09
我的Windows应用程序崩溃了,因为即使在表单被释放后,后台线程也在尝试更新表单。我的代码如下
if (IsDisposed || dataGridIncidentView.IsDisposed)
return;
if (dataGridIncidentView.InvokeRequired)
{
dataGridIncidentView.Invoke(new MethodInvoker(delegate { rowIndex = dataGridIncidentView.Rows.Add("val1","val2"); }));
}
else
{
rowIndex = dataGridIncidentView.Rows.Add("val1", "val2");
}
事件日志中的错误是:
由于未处理的异常,进程已终止。例外 信息: 系统.无效操作异常堆栈: at System.Windows.Forms.DataGridViewRowCollection.AddInternal(Boolean, System.Object[]) at System.Windows.Forms.DataGridViewRowCollection.Add(System.Object[]) ..... ..... .....
我已经在asyncCallBack 函数上进行了 IsDispose 检查。但所有这些检查并不能处理所有情况。谁能建议我,如何解决它?
谢谢
阿比纳夫
您需要在
委托内部执行IsDisposed
检查。
即:
delegate {
if (!IsDisposed) rowIndex = dataGridIncidentView.Rows.Add("val1","val2");
}