allora se devi fare una cosa "al volo" puoi semplicemente usare nella classe program un void statico tipo :
codice:
public static Form1 f1;
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
f1 = new Form1();
Application.Run(f1);
}
public static void ChangeForm(object sender, object FormOpen)
{
Form f = (Form)sender;
f.Visible = false;
Form fo = (Form)FormOpen;
fo.Show();
}
poi nel codice della prima form fai :
codice:
private void backupDatiToolStripMenuItem_Click(object sender, EventArgs e)
{
Program.ChangeForm(this, new Form2());
}
e continui cosi per tutte le form in cascata, per chiudere l'applicazione aggiungi in program :
codice:
public static void close()
{
f1.Close();
}
e lo chiami dall'ultima form ( ovviamente sempre Program.close(); )