Inflearn brand logo image

인프런 커뮤니티 질문&답변

just kim님의 프로필 이미지
just kim

작성한 질문수

C# 윈폼_ 응용프로그램 개발

6. 이벤트

이벤트가 늦게 왔을때 문제 발생

작성

·

38

0

안녕하세요 이번에 폼 뷰를 공부하면서 이럴경우가 분명 있을껀데 이에 대한 대처 방안이 있을까요?

상황은 이렇습니다.

 

Main 폼 뷰에 child form을 띄었습니다.

그리고 버튼을 누르면 다른 클레스를 불러오는데 그 클레스에 delegate를 사용한 이벤트를 생성하고 이 이벤트 발생하면

child Form에 이벤트 nResponseReceived(callback함수)가 동작 하겠죠.. 근데 이벤트가 생성되고 발생되는 시간이 너무 ~~ 길어요 한 7초??

 

그래서 사용자가 답답해서 child Form을 닫아 버렸습니다. 이벤트는 callback 함수 찾아서 가고 있죠.. 이벤트가 다 처리되고 callback함수에 도착 했는데 결과를 출력해줘야할 listView의 핸들이 창을 닫아 버려서 사라졌네... ?? 그래서 그냥 프로그램이 죽어 버려요...

혹시 진행중인 이벤트 취소 하는 방법 없나요??

아니면 창 닫기 전에 진행중인 이벤트 체크해서 완료 될 때 까지 기다리는 스레드라도 동작 시켜야하나요?

 

 

답변 1

0

개발자Park님의 프로필 이미지
개발자Park
지식공유자

안녕하세요 개발자park입니다.

[강의 메모 중]

https://inf.run/y5Xb2

Event가 호출될 때 Event Handler가 정의되지 않은 경우를 방지하고

아래처럼 해주십니다.

아래에서

OnConnected가 정의된 event입니다.

 

var handler = OnConnected;

if (handler != null)

{

handler("보낼 데이터");

}

감사합니다.

just kim님의 프로필 이미지
just kim

작성한 질문수

질문하기