Wouldn't it be easier to just hide the form instead of really closing it? This would allow you to show it again with all the data on it.
If you want to avoid that the form closes when the user presses the close button "x", then you need to handle the "FormClosing" event:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!m_bClose)
{
this.Hide();
e.Cancel = true;
}
}
This allows you to decide when you want to close the form or just hide it.