Programing

VB.NET-인터럽트 양식 루프 및 종료 양식

lottogame 2020. 12. 5. 09:08
반응형

VB.NET-인터럽트 양식 루프 및 종료 양식


끝없는 루프를 통과하고 데이터를 처리하는 양식이 있습니다. 양식을 "닫는"단추를 클릭하면 양식이 닫혀 있어도 계속 처리됩니다. 양식이 완전히 종료되고 루프 문을 종료 한 다음 새 양식을 열길 원합니다.

다음은 양식을 닫는 데 사용하는 코드입니다.

frmMain.Close()
frmMain.Dispose()

참고 : 스레드를 사용하지 않고 단순한 VB.NET 응용 프로그램입니다. 기본 시작 양식을 닫지 않습니다.


이를 수행하는 "올바른"방법은 실제로 백그라운드 작업자 스레드를 사용하는 것입니다. 그러나 이것은 백그라운드 작업자 스레드 없이도 작동합니다.

양식 클래스에서 변수를 선언하십시오.

Private keepLoopAlive As Boolean

그런 다음 처리 루프를 다음과 같이 작성하십시오.

keepLoopAlive = True

Do While keepLoopAlive 

    (your code that loops here)

    DoEvents

Loop

그런 다음 Close 이벤트에서 다음을 수행하십시오.

keepLoopAlive = False
Me.Close()

이렇게하면 루프가 첫 번째 기회에 종료되고 양식이 닫힙니다.

이 코드는 IDE가 아닌 메모리에서 작성 했으므로 오타가있을 수 있습니다.


나는 .NET 개발자가 아니므로 유효하지 않을 수 있지만 무한 루프를 수행하는 경우 루프가 일종의 부울 값으로 여전히 유효하다는 것을 시작할 때마다 확인하고 실패하면 드롭 루프에서.

양식을 닫을 때 부울 값을 false로 설정하면 드롭 아웃됩니다. 루프를 기다렸다가 다시 시작하는 외부 루프를 가지거나 다른 시간에 전체 함수를 다시 시작할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/4772893/vb-net-interrupt-form-loop-and-end-form

반응형