C# winform 关于async和await 实际用法过程中,偶尔报错问题

2020-10-21 14:50发布

上图是在反复不停对修改信息窗体后,调用下图方法后,偶尔会报错

2条回答
\"骚年 ilove
2楼-- · 2020-10-21 14:55

用法就不太对..., 对控件的访问应该是同步的.

async void button_click_handler(){
    await bindBaseEmployList(); //比如说,点击一个按钮就load数据.
}

async Task bindBaseEmployList(){
    doWaiting w=new...;
    w.ShowMessage(); //sync show.

    var ds = await getDataAsync(emp); //async load datas.

    this.gridControll.DataSource = ds; //sync set to winform control.
}
查看更多
ゆ 、 Hurt°
3楼-- · 2020-10-21 15:07

从异常信息来看,可能是绘制行(DrawRow)事件中出现了问题,从上面代码来看,有可能是focusedRowHandle方法内部有问题,像这样的空异常,简单的可以通过判断是否为null输出到输出窗口进行诊断

if(obj==null)
{
   Console.WriteLine(信息);
}
查看更多
登录 后发表回答