首页 > 解决方案 > 当我在异步中使用添加控件时如何解决跨线程问题?c#

问题描述

当我创建新的异步控件并添加到其他控件中时。它抛出如下异常。

跨线程操作无效:控制“A2B2AA2D-059F-4ACD-B5E3-726FCE9FA1D0”从创建它的线程以外的线程访问。”

如何在异步函数中添加新控件。

在此处输入图像描述

标签: c#winforms

解决方案


if (fileCanvas.InvokeRequired)
{
    fileCanvas.Invoke((MethodInvoker)delegate {
       fileCanvas.Controls.Add(canvas);
    });
}
else
{
    fileCanvas.Controls.Add(canvas);
}

我猜这是最简单的方法。


推荐阅读