数据网格视图错误: 由于未处理的异常,进程已终止

本文关键字:异常 进程 终止 未处理 网格 数据网 视图 错误 数据 | 更新日期: 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"); 
}