| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB .NET > реализация потоков |
| Автор: noob4ever 4.6.2011, 19:01 |
| В общем задача такая: нужно создать много потоков. For i = 1 To X Dim Worker As New ProcessWorker Dim t As New Thread(AddressOf Worker.Start) t.Start() Next Friend Class ProcessWorker Friend Sub Start() 'тут выполняется какие то действия. 'добавление в listbox1 какого-то значения End Sub End Class А теперь вопрос, как в конце выполнения потока добавить значение в listbox1?? пробывал так Form1.listbox1.items.add(x) ничего не происходит, через делегат ошибка такая: Невозможно вызвать Invoke или BeginInvoke для элемента управления до завершения создания дескриптора окна. |
| Автор: krewin 4.6.2011, 21:02 | ||||||
| Ты делаешь все не верно ты юзаешь Threading Проще быть с элементом BackgroundWorker1 там есть процедура Workers_ProgressChanged
юзай коду так где у нас e.UserState данные получаемые от сюда
для запуска используй код например с кнопки
вот примерно так |
| Автор: noob4ever 7.6.2011, 13:21 |
| дело в том, что хочу обойтись без фоновых потоков, потому что количество потоков задается пользователем, предлагаешь 100 штук BackgroundWorker вынести на форму?? это как раз умею, и это не правильно точно, поэтому ищу другой способ, как же быть? |