저는 머신 비전 프로젝트에서 일하고 있습니다. 저는 인쇄 검사를 위해 카메라를 사용하고 있습니다. 내 응용 프로그램에서 나는 화면에 이미지를 표시하는 하나의 그림 상자와 두 개의 버튼을 사용하고 있습니다. 두 개의 버튼에는 라이브 디스플레이 용 버튼과 fullscreen.With 용 livedisplay 버튼을 사용하여 while 루프의 picturebox에 이미지를 표시하고 있습니다. 동시에 while 루프에서 나는 fullscreen 버튼을 눌러야한다. 루프가 실행되는 동안에는 폼의 버튼을 누를 수 없으므로 전체 화면 버튼을 누를 수 없습니다. (루프가 잠시 있습니다.) 왜 이런 일이 발생합니까? 루프가 실행되는 동안 어떻게이 버튼을 클릭 할 수 있습니까?while 루프가 실행 중일 때 버튼을 누르는 방법?
2
A
답변
1
하나의 솔루션은 while 루프를 실행하는 것이 아니라, 일정 간격으로 타이머를 사용하고 타이머 틱에서 그림 상자의 이미지를 업데이트하십시오. Liveupdate 버튼을 클릭 할 때 타이머를 시작할 수 있습니다. 간격을 매우 낮게 (예 : 100ms) 유지하면 업데이트로 인해 생생하게 느껴질 수 있습니다. 이렇게하면 응용 프로그램이 다른 버튼 클릭과 같은 다른 사용자 작업에 대한 입력을받을 때 두 가지 업데이트 사이에 일정한 간격이 제공됩니다.
3
멋진 멀티 스레딩 세계에 오신 것을 환영합니다. while 루프를 별도의 스레드에 넣어야 UI가 응답 성이 유지됩니다. 스레딩은 길고 깊은 개념이며이를 수행하는 데 수 백만 가지 방법이 있습니다.
경로는 BackgroundWorker 스레딩 모델을 사용하는 것이 가장 바람직합니다. 자세한 내용은 here을 참조하십시오.
관련 문제
- 1. 루프가 병렬로 실행 중일 때
- 2. while 루프가 wxPython 이벤트에있을 때
- 3. for 루프가 실행 중일 때 응용 프로그램을 종료하십시오.
- 4. SensorListener가 실행 중일 때 IntentService를 중지하는 방법
- 5. while 루프가 작동하지 않습니다
- 6. AsyncTasks가 실행 중일 때 새로 고침 버튼을 선택했는지 감지
- 7. While 루프가 종료되지 않습니다.
- 8. While 루프가 작동하지 않습니다.
- 9. while 루프가 중지되지 않습니다.
- 10. While ... Wend 루프가 끊어졌습니다.
- 11. Java에서 while 루프가 깨어짐
- 12. python -> while 루프가 실행되었습니다.
- 13. while 루프, postmarkapp, while 루프가 이상하게 보냈습니까?
- 14. while 루프가 계속되는 동안에도 루프가 계속됩니다
- 15. While 루프가 될 수없는 While 루프의 예
- 16. Guice를 사용하는 Projekt가 Eclipse에서 실행 중일 때
- 17. 터미널에서 실행 중일 때 이맥스 메뉴 옵션
- 18. 자식이 실행 중일 때 상위 프로세스에서 종료
- 19. Redis : while 루프가 있는지 여부를 확인하는 방법
- 20. XUL의 명령 이벤트에서 마우스 버튼을 누르는 방법?
- 21. 애플 리케이션이 실행 중일 때 오디오 재생
- 22. 내 while 루프가 작동하지 않습니다
- 23. Python : While 루프가 종료되지 않습니다.
- 24. 메소드가 실행 중일 때 Dealloc이 호출되었습니다.
- 25. 특정 프로세스가 실행 중일 때 백그라운드에 내 프로그램을 보내는 방법
- 26. While 루프가 제대로 작동하지 않습니다.
- 27. Enter 키를 사용하여 버튼을 누르는 방법
- 28. Google Plus One 버튼을 누르는 방법
- 29. 안드로이드의 버튼을 길게 누르는 시간을 늘리는 방법
- 30. 특정 행의 표에서 버튼을 누르는 방법
링크를 제대로 가져올 수 없습니다 .. –
링크를 편집했습니다. 원래는 잘못된 링크 (Silverlight 용)를 제공했지만 고정되지는 않았지만 분명히 충분하지 않았습니다. 어쨌든, 지금 일해야합니다. –
그리고 처음에는 조금 복잡해 보일지라도 BackgroundWorker 모델은 응용 프로그램을 멀티 스레드하는 아주 간단한 방법입니다. 그리고 이것은보다 진보 된 멀티 스레딩 개념에 대한 좋은 소개입니다. –