.NET 4.x [Потоки] Взаимодействие элементов формы из другого потока - C#

Узнай цену своей работы

Формулировка задачи:

Есть такой код, который выполняется в backgroundWorker1:
for (int i = 0; i < API._IDRequest.Count; i++)
                {
                    
                    API.GET_http("https://api.vk.com/method/friends.add.xml?user_id=" + API._IDRequest[i] + "&access_token=" + Settings1.Default.token);
                    listBox1.Items.Add("Был добавлен: " + API.GetUsetInfo(API._IDRequest[i]));
                    Thread.Sleep(100);
                }
Но у меня не выполняется часть кода, где добавляется Items в ListBox. Я знаю что они нельзя взаимодействовать из потока другого с элементами. В WPF это ограничение обходится так:
if (!CheckAccess())
                this.Dispatcher.Invoke((ThreadStart)delegate
                {
                    //....
                });
А как на WinForms так же сделать?

Решение задачи: «.NET 4.x [Потоки] Взаимодействие элементов формы из другого потока»

textual
Листинг программы
listBox1.Invoke((Action)(()=>{.....}));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы