Form Dispose() or Close()
winforms
Solution
The error `Value Close() cannot be called while doing CreateHandle()` usually happens when we try to close the form in the constructor or Load event.
For example, the following code gives the error:
private void frmCustomer_Load(object sender, EventArgs e)
{
if (!Valid())
this.Close;
}
The Solution:
private void frmCustomer_Load(object sender, EventArgs e)
{
if (!Valid())
this.BeginInvoke(new MethodInvoker(Close));
}
You can use this in your code.
Problem
I'm having 2 forms. From one form I created and shown the other form. It's working great. But when I try to close or Dispose that form from the form that created it I get following Exception: ``` Exception : Value Dispose() cannot be called while doing CreateHandle(). Stack Trace : ======================== at System.Windows.Forms.Control.Dispose(Boolean disposing) at System.Windows.Forms.Label.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at System.Windows.Forms.Control.Dispose(Boolean disposing) at System.Windows.Forms.ContainerControl.Dispose(Boolean disposing) at System.Windows.Forms.Form.Dispose(Boolean disposing) at Speedometer_Application.frmSpeedometer.Dispose(Boolean disposing) ``` Any idea????