Недавно я попытался получить доступ к текстовому полю из потока (кроме потока пользовательского интерфейса), и было создано исключение. Он сказал что-то о том, что "код не является потокобезопасным", и поэтому я закончил тем, что написал делегат (образец из MSDN помог) и вызвал его вместо этого.
Но даже в этом случае я не совсем понял, зачем нужен весь дополнительный код.
Обновление: Будут ли я сталкиваться с серьезными проблемами, если я проверю
Controls.CheckForIllegalCrossThread..blah =true