Visual Studio 및 C#을 처음 사용했습니다. 방금 Windows Form 응용 프로그램을 완료했지만 다음과 같은 버그가 감지되었습니다. 사용자가 최소화/복원하거나 다른 작업으로 전환 할 때마다 프로그램이 종료됩니다 (응답 없음). 이 버그는이 프로그램을 실행하는 동안 사용자 멀티 태스킹을 막아 주므로 정말 고칠 수 있습니다. 문제의 가능한 원인과 해결 방법을 알고 싶습니다. 나는 정말로 어떤 제안이라도 고맙게 생각한다. 감사!Windows Form 응용 프로그램에 대한 작업을 전환 할 수 없습니다.
답변
Form
에서 길게 실행되는 루프 또는 장기간 작동하는 곳이면 어디든 상관 없습니다. 최소화하고 복원 할 때 "응답하지 않음"만 표시된다는 사실은 아마도 사용자가 창을 다시 그려야하고 강제로 Windows가 응용 프로그램이 멈추었 고 고스트 창을 사용하도록 인식하게 만들었 기 때문일 수 있습니다. 창을 최소화하고 복원하기 전에 창을 이미 매달아 놓았을 것입니다. 창을 이동하려고하면이 사실을 확인할 수 있습니다. 움직이지 않으면 매달아집니다. 움직이지 않으면 제목 표시 줄을 화면에서 벗어나 뒤로 이동하십시오 (예 : 제목 표시 줄의 가운데를 클릭하여 오른쪽으로 끌고 단추를 놓은 다음 화면에서 다시 가져 오기).).
창이 움직이려고하면 프로그램이 멈추었습니다. 프로그램을 옮기거나 최소화하려고하지 않으면 문제가 없습니다. 거대한 루프를 돌릴 때 발생할 수 있다고 동의했습니다. 그러나 프로그램은 먼저 100k + 회선 파일을 반복하여 그렇게해야합니다. 루프 걱정 이외의 가능한 원인은 무엇입니까? – andyzhangcr7
잘 작동하는 것처럼 보입니다. 창문은 여전히 매달려 있습니다. 다른 앱으로 돌아가서 돌아 가면 비슷한 '응답하지 않음'문제가 발생합니다. 코드를 보지 않고도 루프 또는 다른 오랜 작업 일 수 있습니다. 추측은 무한합니다. 이 문제를 해결할 수있는 유일한 방법은 긴 작업을 찾아서 UI 스레드에서 다른 스레드로 옮기는 것입니다. BackgroundWorker가 유용합니다. –
죄송합니다.이 프로젝트의 코드를 게시 할 수 없지만 어쨌든 고마워요. – andyzhangcr7
내가 틀리면 UI가 멈추는 문제가 있습니다. 그렇다면 왜 C# BackgroundWorker를 사용하지 않는가? 그것은 당신이 긴 작업을하고 있는지 여부와 관계없이 윈도우 폼을 멈추는 것을 방지하도록 도와줍니다. 여기에 좋은 자습서 http://www.dotnetperls.com/backgroundworker을 찾을 수 있습니다. 희망이 도움이 될 것입니다.
- 1. Windows Form 다른 응용 프로그램에 게시
- 2. 작업을 작업으로 방향 전환 할 수 없습니다.
- 3. WPF 응용 프로그램에 Windows Form 포함하기
- 4. XNA WP7 응용 프로그램에 대한 광고, 클릭 할 수 없습니다.
- 5. Windows Form 응용 프로그램에 System.Web 참조를 추가하는 방법
- 6. android 응용 프로그램에 로그인 할 수 없습니다.
- 7. Windows Form DLL 응용 프로그램
- 8. SQLite를 Windows Form 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 9. DLL이 분산 응용 프로그램에 없습니다.
- 10. 디버거가 대상 응용 프로그램에 대한 등록을 찾을 수 없습니다.
- 11. Windows 8에서지도 응용 프로그램에 대한 URL 생성
- 12. Windows 서비스 응용 프로그램에 System.Web에 대한 참조를 추가 할 수 없습니다.
- 13. Visual Basic으로 작성된 Windows Form 응용 프로그램에 VB 런타임이 필요합니까?
- 14. Windows Form From Text Form
- 15. vb.net에서 windows 응용 프로그램에 대한 동기화 데이터베이스
- 16. Windows 응용 프로그램에 대한 모범 사례?
- 17. Windows 데스크톱 응용 프로그램에 대한 아이디어
- 18. Windows Form 응용 프로그램을 아름답게합니다.
- 19. 폰트 작업을 할 수 없습니다.
- 20. Java 응용 프로그램에서 Windows 전환
- 21. usercontrol image windows form
- 22. Windows CE 플랫폼에서 Windows Form 응용 프로그램을 실행할 수 있습니까?
- 23. Windows 응용 프로그램에 대한 UI '표준'은 어디에서 찾을 수 있습니까?
- 24. 보고서보기에서 보고서간에 전환 할 수 없습니다
- 25. 예외를 생성 할 수 없습니다. 매우 간단한 C# Windows Form 응용 프로그램 및 app.config
- 26. Windows Form 응용 프로그램 예약 된 작업으로
- 27. C# 응용 프로그램에 DELPHI XE2 DLL을 추가 할 수 없습니다.
- 28. Facebook iOS 응용 프로그램에 로그인 할 수 없습니다.
- 29. Windows XP, 제한된 사용자의 일정 작업을 추가 할 수 없습니다.
- 30. Windows Form 응용 프로그램의 WCF 호스트
GUI를 잠그고있는 Control.LostFocus 이벤트 처리기에서 뭔가하는 것처럼 들릴 수 있습니다. 코드에 게시 할 수있는 내용이 있습니까? –
Control.LostFocus 이벤트 처리기와 관련된 코드가 없습니다. 이 프로그램은 거의 2000 라인을 가지고 있으며 코드의 작은 부분을 게시하는 것이 도움이 될 것이라고 생각하지 않습니다. 피터가 아래에서 제안했듯이 거대한 루프가 지금까지의 주된 원인이라고 생각합니다. – andyzhangcr7