フォームの質問です。

メインウィンドウからダイアログ1を開く→OK押す(ダイアログ1消える)→ダイアログ2が起動
(重い処理なのでプログレスバー表示)→完了(ダイアログ2消える)→メインウィンドウに戻る

をしたいのですが、1を消すタイミングでclose()、dispose()してるにも関わらず
ダイアログ2が終わるまで1のダイアログが残ってしまいます。(1の上に2が重なってるイメージ)
どうやれば、1のダイアログをすぐに消すことが出来るんでしょうか。