System.InvalidOperationException: CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다. 해결 방법

CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다. 예외 현상을 체크박스 초기화와 관련하여 안내해드리겠습니다.

C# Windows Forms는 InitializeComponent와 동시에 체크박스의 체크 상태에 따라 발생하는 이벤트가 활성화 될 수 있습니다. 이때 추가 예외가 발생하여 CreateHandle() 중에 폼에 대한 종료 명령이 실행되어, Dispose() 값을 호출하는 경우가 있습니다.

CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다.

CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다.
private void chkBox_CheckedChanged(object sender, EventArgs e)

{

    //Todo something

}

이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는

방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오.

************** 예외 텍스트 **************

System.InvalidOperationException: CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다.

   위치: System.Windows.Forms.Control.Dispose(Boolean disposing)

   위치: System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)

   위치: System.Windows.Forms.Form.Dispose(Boolean disposing)

   위치: --Override Dispose Grandparent Form

   위치: --Override Dispose Parent Form

   위치: --Override Dispose Child Form

   위치: --Closed

   위치: System.Windows.Forms.Form.OnClosed(EventArgs e)

   위치: System.Windows.Forms.Form.WmClose(Message& m)

   위치: System.Windows.Forms.Form.WndProc(Message& m)

   위치: --Override WndProc

   위치: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

   위치: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

   위치: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

댓글