Сегодня утром я увидел какой-то странный код от одного из моих коллег. В приложении winforms вся Mainform была указана в качестве ссылки. Он сделал это, чтобы вызвать методы из формы. Ничто не может взаимодействовать с пользовательским интерфейсом, просто используя методы расчета. Я уже уверен, что это не лучшая практика, но мне интересно. Если я вызову методы Mainform изнутри потока, эти методы все еще обрабатываются как многопоточность? Или они бегут внутри Mainform? Будет ли затронут поток пользовательского интерфейса при вызове методов из Mainfrom из потока?Сценарий сценария для многопоточности Winforms
2
A
ответ
5
Функции из формы, вызванной из другого потока, будут выполняться в потоке, который их вызывает, и не влияют на поток графического интерфейса. В качестве побочного эффекта это означает, что если вы вызываете функцию, которая взаимодействует с графическим интерфейсом, вы получите исключение.
Если вы хотите, чтобы их вызывали в потоке графического интерфейса пользователя, проще всего вызвать Control.Invoke(...)
, что заставляет делегат, который вы передаете, выполнять в потоке графического интерфейса, что позволяет взаимодействовать с графическим интерфейсом.
Смежные вопросы
- 1. Сценарий многопоточности для списка
- 2. Добавление сценария многопоточности для приложения в C#
- 3. Почему мой сценарий python для многопоточности/многопроцессорности не работает правильно?
- 4. сценарий использования сценария
- 5. Сценарий сценария Greasemonkey
- 6. сценарий сценария ascx runat
- 7. Ожидаемый сценарий условного сценария
- 8. Сценарий сценария сценария Blueprint, как его использовать?
- 9. Сценарий против сценария Outline
- 10. Сценарий сценария PHP IE6
- 11. Сценарий сценария Firebug скриптов
- 12. Сценарий сценария GDB
- 13. загрузки сценария объявления сценарий
- 14. Сценарий вызова из сценария
- 15. Каков оптимальный сценарий многопоточности для обработки длинных строк?
- 16. Нужен сценарий сценария для управления версиями .NET.
- 17. Сценарий транзакции Spring Junit4 для сценария проверки
- 18. Простой сценарий сценария для jenkins и docker
- 19. Параметры сценария оболочки Сценарий для параметров
- 20. Shell Script для многопоточности процесса
- 21. Сценарий инициализации сценария контейнера Google
- 22. Преобразование ш сценария Сценарий Perl
- 23. Сценарий сценария Jenkins, созданный динамически
- 24. Сценарий поиска сценария безопасности приложения
- 25. Сценарий выполнения сценария Mercurial merge
- 26. Новый сценарий сценария установки ПК
- 27. Сценарий сценария Jquery с SignalR
- 28. Сценарий сценария в середине исполнения
- 29. Отменить Сценарий сценария сценариев Gmail
- 30. Сценарий сценария огурца и capybara
Я знаю! Я знаю! Разве я не был! – TalkingCode