Поскольку вы не можете напрямую обращаться к элементам управления пользовательского интерфейса из потоков, отличных от потока, в котором они были созданы. Control.Invoke
перенаправит ваш вызов в нужный поток, что позволит вам выполнить вызов из другого потока в поток пользовательского интерфейса, не зная, что такое поток пользовательского интерфейса или как выполнить маршалинг.
Обновление: для ответа на ваш вопрос, у вас нет для использования Control.Invoke
- если у вас есть код, чтобы перенаправить ваш вызов в нужную ветку и отправить сообщение на насос сообщений - тогда используйте это. Это, однако, известно как переизобретение колеса. Если вы не делаете что-то, что меняет поведение.