c# Illegal Cross Thread Operation exception异常

当我们在C#中绑定数据时,更改数据的线程也会导致控件发生更改。但是,如果此线程不是在其上创建控件的线程,则会出现"非法跨线程操作"异常。

解决方案

我们一般这样操作:

private void SomeEventHandler(Object someParam)
{
    if (this.InvokeRequired)
    {
        this.Invoke(new SomeEventHandlerDelegate(SomeEventHandler), someParam);
    }

    //Regular handling code
}

InvokeRequired是控件上的一个属性,以查看我们是否在正确的线程上,然后Invoke将在正确的线程上调用委托。

日期:2020-03-23 23:12:08 来源:oir作者:oir