In the parent of my MDI application I declare a child form

private frmChild = null;

which is to be activated on a menu click. In the click event I am using the
following code:

if (frmChild == null || !frmChild .IsHandleCreated)
{
frmChild = new frmChild ();
frmChild .MdiParent = this;
frmChild .Show ();
}
else
frmChild .Activate();

This does not have the desired effect however; I am trying to avoid having
to go through initialization each time the form is re-opened. I also need
to make sure that only one instance of this form is opened at a time.

Can anyone offer help?

Thanks,
Nate