CreateHandle() 중에는 Dispose() 값을 호출할 수 없습니다. 예외 현상을 체크박스 초기화와 관련하여 안내해드리겠습니다.
C# Windows Forms는 InitializeComponent와 동시에 체크박스의 체크 상태에 따라 발생하는 이벤트가 활성화 될 수 있습니다. 이때 추가 예외가 발생하여 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)