Hi.. Please help!!

I've created a custom dialog form to accept size and name attributes for a new project. I spawn a new frmProjectLayout object from the main form and when the user selects ok keep the frmProjectLayout in scope by calling Hide so I can pass parameters back to the oMainForm. I then dispose of frmProjectLayout after I have retrieved the parameters. The problem is oMainForm flickers terribly as if it was refreshing. For a split second you can see what is behind the main form. This is how the text books show it should be done but it looks terrible. Are these results typical when using this technique or am I doing something wrong? It makes no difference if I call frmProjectLayout.Dispose(), frmProjectLayout.Close(), frmProjectLayout = null even if I do nothing, the object goes out of scope and does the same thing.

Here is the code from my project:

frmProjectLayout oProjectLayoutForm = new frmProjectLayout(this.oMainForm);
oProjectLayoutForm.ShowDialog(this.oMainForm);
switch (oProjectLayoutForm.DialogResult) {
// ok was pressed
case DialogResult.OK:

// populate user selected vars
this.oName = oProjectLayoutForm.o_FrameName;
this.oFrameSizeF = new SizeF(oProjectLayoutForm.o_FrameSize.Width, oProjectLayoutForm.o_FrameSize.Height);
case DialogResult.Cancel:
break;

Thanks

SEVI