尽管进行了多次健全性检查,但在关闭时调用句柄错误

本文关键字:错误 句柄 调用 检查 | 更新日期: 2023-09-27 17:56:51

我正在使用这个小实用程序函数:

public static void Invoke(Control control, Action method)
{
    if (control.InvokeRequired)
    {
        if (control.IsDisposed || !control.IsHandleCreated || !control.Created)
            return;
        control.Invoke(method);
    }
    else
        method();
}

尽管进行了所有这些健全性检查,但当我关闭应用程序时,杂散调用总是会产生此错误:

Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

尽管显然要检查是否创建了句柄......我还能做什么?

尽管进行了多次健全性检查,但在关闭时调用句柄错误

通读这个深入研究调用的线程。 您遇到的问题几乎可以肯定是由于 if(...) 返回之间的控件消失;和调用做它的事情。