I assume you are talking about WinForms here. If you are, each window has a Closing and Closed event associated with it. What I would do is override the OnClosed implementation and show my window from there.
protected override void OnClosed(EventArgs args)
{
new NewWindow().Show();
base.OnClosed(args);
}
Importantly from your point of view, this method is not called when the application exits, so you won't get rogue windows opening up unexpectedly.