이벤트가 늦게 왔을때 문제 발생
75
投稿した質問数 27
안녕하세요 이번에 폼 뷰를 공부하면서 이럴경우가 분명 있을껀데 이에 대한 대처 방안이 있을까요?
상황은 이렇습니다.
Main 폼 뷰에 child form을 띄었습니다.
그리고 버튼을 누르면 다른 클레스를 불러오는데 그 클레스에 delegate를 사용한 이벤트를 생성하고 이 이벤트 발생하면
child Form에 이벤트 nResponseReceived(callback함수)가 동작 하겠죠.. 근데 이벤트가 생성되고 발생되는 시간이 너무 ~~ 길어요 한 7초??
그래서 사용자가 답답해서 child Form을 닫아 버렸습니다. 이벤트는 callback 함수 찾아서 가고 있죠.. 이벤트가 다 처리되고 callback함수에 도착 했는데 결과를 출력해줘야할 listView의 핸들이 창을 닫아 버려서 사라졌네... ?? 그래서 그냥 프로그램이 죽어 버려요...
혹시 진행중인 이벤트 취소 하는 방법 없나요??
아니면 창 닫기 전에 진행중인 이벤트 체크해서 완료 될 때 까지 기다리는 스레드라도 동작 시켜야하나요?
回答 1
0
안녕하세요 개발자park입니다.
[강의 메모 중]
Event가 호출될 때 Event Handler가 정의되지 않은 경우를 방지하고
아래처럼 해주십니다.
아래에서
OnConnected가 정의된 event입니다.
var handler = OnConnected;
if (handler != null)
{
handler("보낼 데이터");
}
감사합니다.
C#.NET 0.5년차~3년차(파트1) 후속강의 질문
2
86
2
9강 18분즈음 속성값에 Label1Text가 안뜹니다.
0
70
2
솔루션 탐색기 WindowsFormApp 더블클릭 후 어셈블리명 변경안됨
0
62
1
이렇게 메서드명 띄워서 나오는 경우는 뭐죠?
0
99
3
16:10 여기까지 쭉 작성했을 때 에러 뜬다고 마지막으로 성공한 빌드를 실행하시겠습니까? 라고 뜨는데
0
72
1
자료 다운로드 파일에 C# 파일들 있는거 같은데
0
71
1
9강 사용자 정의 컨트롤러 질문입니다.
0
103
2
책이름 변경 버튼
0
108
1
6이벤트 중, 버튼1과 버튼2 연결 에러
0
119
1
수업자료 중에 ppt
0
430
2
단일프로세스 강의 질문
0
360
1
엣지에서 강의 재생이 안됩니다.
0
749
2
사용자 정의 컨트롤러에서
0
292
1
App.config 에 DB 접속 정보를 넣고 변경할 경우
0
417
1
App.config 파일은 없는데 어디에서 추가하나요?
0
1712
5
8강 디버그 수강 중입니다. 클래스 다이어 그램 질문드립니다.
0
381
1
Splitter
0
262
1
단일 프로세스 VS 단일 쓰레드
0
317
1
Windows Forms Designer가 지원되지 않습니다
0
759
1
도구상자에서 라벨을 끌어 놓을 때
0
1123
1
sql리더로는 왜 데이터셋이 아닌 데이터테이블을 쓴건지요
0
257
1
혹시 자마린에서는 이런식의 보안이 있을지 혹시 아시는지용
0
249
2
혹시 오라클 db관련 정리 자료도 받을수 있을까요?
0
284
0
질문부탁드립니다!
0
216
2

