Здравствуйте, Аноним, Вы писали:
А>при его выполнении выскакивает ошибка: Действие, выполняющееся для данного элемента управления, вызвано из неверного потока. Для выполнения данного действия перейдите в правильный поток с помощью Control.Invoke или Control.BeginInvoke. Подскажите, что это значит вообще
Это означает, что действие, выполняющееся для данного элемента управления, вызвано из неверного потока
А>и как от этого избавиться
перейдите в правильный поток с помощью Control.Invoke или Control.BeginInvoke
при его выполнении выскакивает ошибка: Действие, выполняющееся для данного элемента управления, вызвано из неверного потока. Для выполнения данного действия перейдите в правильный поток с помощью Control.Invoke или Control.BeginInvoke. Подскажите, что это значит вообще и как от этого избавиться
11.12.10 18:16: Перенесено модератором из '.NET' — TK
А>при его выполнении выскакивает ошибка: Действие, выполняющееся для данного элемента управления, вызвано из неверного потока. Для выполнения данного действия перейдите в правильный поток с помощью Control.Invoke или Control.BeginInvoke. Подскажите, что это значит вообще и как от этого избавиться
Может вы будете смеяться, но надо так и сделать — вызывать BeginInvoke у формы. Т.е все эти действия оформить как отдельный метод и запихать его в BeginInvoke.
Здравствуйте, Pavel_Agurov, Вы писали:
А>>при его выполнении выскакивает ошибка: Действие, выполняющееся для данного элемента управления, вызвано из неверного потока. Для выполнения данного действия перейдите в правильный поток с помощью Control.Invoke или Control.BeginInvoke. Подскажите, что это значит вообще и как от этого избавиться
P_A>Может вы будете смеяться, но надо так и сделать — вызывать BeginInvoke у формы. Т.е все эти действия оформить как отдельный метод и запихать его в BeginInvoke.
Здравствуйте, Lloyd, Вы писали:
P_A>>Может вы будете смеяться, но надо так и сделать — вызывать BeginInvoke у формы. Т.е все эти действия оформить как отдельный метод и запихать его в BeginInvoke.
L>Просто Invoke.
Какой ты категоричный.
Зависит от контекста. Где-то надо именно BeginInvoke.
Здравствуйте, _d_m_, Вы писали:
P_A>>>Может вы будете смеяться, но надо так и сделать — вызывать BeginInvoke у формы. Т.е все эти действия оформить как отдельный метод и запихать его в BeginInvoke.
L>>Просто Invoke.
___>Какой ты категоричный. ___>Зависит от контекста. Где-то надо именно BeginInvoke.
Контекст (проблема) достаточно ясно обрисована в первом посте. Тащить сюда еще и асинхронность ну ваабще не в тему.
Здравствуйте, Аноним, Вы писали:
А>Подскажите, что это значит вообще и как от этого избавиться
Это озночает, что модификация UI идёт из другого потока, не того, в котором создан UI.
Лечится выполнением работы по заполнению дерева в потоке UI. Либо пересмотром логики app либо через Invoke().