Friday, August 23, 2013

Graphics 초기화 오류 시

지난 번 포스트 후 몇 달(?)이 지났다.

이제는 이벤트 핸들러 없이 일일이 redraw해주기가 불가능하게 되었으므로
(규모로도 그렇고 로직으로도 그렇고)

지난 번 포스트의 문제점을 해결해야만 하게 되었다.

해결책은 간단하다.

이벤트핸들러를 등록해 주는만큼 해제도 해 줘야 한다.

창을 닫고 나서도 계속 등록된 상태라면 Graphics 객체 초기화에 오류가 발생한다.

Closed나 Closing 이벤트에 핸들러를 등록하고, 그리기 핸들러를 -= 연산자로 해제해주는 코드를 작성하면 된다.

Referer를 만들 때 +=, 없앨 때 -=,

편집창을 열 때 +=, 닫을 때 -=

이렇게 쌍을 유지하는지 감시(?)해야 한다.

No comments:

Post a Comment

창 핸들을 만드는 동안 오류가 발생했습니다

System.ComponentModel.Win32Exception was unhandled   MyForm w = new MyForm IntPtr handle = wnd.Handle;   // Exception occurs here class MyFo...