Ответ: Многопоточность.
Invoke надо вызывать для обновления интерфейса, а не для выполнения функции с основной задачей, которая должна быть в отдельном потоке. Т.е. всегда когда настал момент обновить интерфейс - вызываешь Invoke с обновлением данных в контролах, все остальное в отдельном потоке. Т.е. основная задача Invoke - записать например текст в метку или что-то подобное.
PS: в коде я ничего не понял и разбираться нет времени.
|