Func()
{
if (form.InvokeRequired)
{
form.Invoke(Func)
}
else
{
//code
}
}
Как обратиться к форме из отдельного потока
Почему сделано в отдельном потоке - для того, чтобы его можно было прервать, т.к. запрос-ответ занимает несколько секунд, а юзер в это время может изменить адреса запросов, поэтому остановка потока, действия юзера и новый пуск.
Все работает отлично. Данные принимаются, обрабатываются и записываются в файл.
Далее, в конце работы потока я хочу взять эти данные из файла и показать в форме, в текстбоксе.
Пишу просто - текстбокс.тхт=переменной, взятой из файла и далее форма.шоу
На панели винды появляется ярлык формы - но на экран она не выходит.
Подозреваю (и не спроста, т.к. если без потоков работать, она отображается нормально), что проблема в потоках. Читал про инвок - но вообще не понял, что за зверь.
Таким образом вопрос - как из отдельного потока обратиться к форме?
В методе формы, который ты хочешь вызвать, тебе необходимо проверять
Код:
Да это я все понимаю, про обмен данными между потоками. Вопрос был чисто практический - как, т.к. Form.show() через инвок сделать. Уже ответили ))