Как исправить проблему с перекрестным потоком, когда я использую элементы управления добавлением в асинхронном режиме? winform c# - PullRequest
0 голосов
/ 28 мая 2020

Когда я создал новый элемент управления с асинхронным режимом и добавил в другой элемент управления. Он генерирует исключение, как показано ниже.

Межпоточная операция недействительна: элемент управления 'A2B2AA2D-059F-4ACD-B5E3-726FCE9FA1D0' доступен из потока, отличного от потока, в котором он был создан. "

Как добавить новый элемент управления в асинхронную функцию.

введите здесь описание изображения

1 Ответ

3 голосов
/ 28 мая 2020
if (fileCanvas.InvokeRequired)
{
    fileCanvas.Invoke((MethodInvoker)delegate {
       fileCanvas.Controls.Add(canvas);
    });
}
else
{
    fileCanvas.Controls.Add(canvas);
}

Думаю, это самый простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...