Tengo el nuevo problema con abrir y cerrar forma en C#.Eliminar formulario después de cerrar
Mi problema es cómo deshacerse del formulario después del cierre.
aquí es mi código:
Program.cs:
static class Program
{
public static Timer timer;
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
timer = new Timer { Interval = 1000};
timer.Start();
Application.Run(new Form1());
}
}
Form1.cs:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ShowDialog();
/// I've tried Dispose() method . but didn't work
}
}
Form2.cs:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Program.timer.Tick += timer_Tick;
Close();
// I've tried Dispose() method instead of Close() but didn't work
}
private int count = 0;
void timer_Tick(object sender, EventArgs e)
{
count++;
if (count == 5) MessageBox.Show("");
}
}
Editado: Mi pregunta es: ¿por qué el cuadro de mensaje muestra después de 5 segundos cuando el formulario2 se ha cerrado!
¿Por qué quiere deshacerse de los formularios antes de que el recolector de basura lo haga por usted (suponiendo que no haya referencias al formulario restante)? – Lazarus
¿Qué significa "No funcionó"? ¿Se plantea una excepción? ¿La ventana no desaparece? @ Lazarus: Buena pregunta. – DHN
[¿Tengo que deshacerme de un formulario después de cerrar el formulario?] (Https://stackoverflow.com/a/39501121/3110834) –