/ / Ako zatvorím formulár po otvorení iného formulára [duplicate] - c #, formulárov

Ako zatvorím formulár po otvorení iného formulára [duplicate] - c #, formulárov

Takže povedzme, že som klikol na tlačidlo a mal by otvoriť nový formulár a zatvoriť aktuálny formulár.

private void button1_Click(object sender, EventArgs e)
{
this.Close();
Form2 AFormInstance = new Form2();
AFormInstance.Show();
}

skúsil som this.Close() ale to, čo sa skončilo, sa obe formy uzavreli. Ako sa otvorím Form2 a zavrieť Form1?

odpovede:

0 pre odpoveď č. 1

Ak rodičom tlačidla 1 je Form1, môžete použiť:

var formToBeClosed = ((sender as Button).Parent) as Form;
formToBeClosed.Close();

-2 pre odpoveď č. 2

Jednoducho prepnite niektoré riadky:

private void button1_Click(object sender, EventArgs e)
{
Form2 AFormInstance = new Form2();
AFormInstance.Show();
this.Close();
}

Upraviť: Ďalšia myšlienka: Neúmyselne zatvárate hlavný formulár?

Zmeňte predvolený kód program.cs na:

    static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
form1.Show();
Application.Run();
}

Na zatvorenie aplikácie použite:

Application.Exit();