Alex Rivera | Logout

Dispose form after closing

Asked 2010-08-31T14:47:13.680
16

I have got the new problem with opening and closing form in C#.

My problem is how to dispose the form after closing .

here is my code :

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("");
    }
}

Edited : My question is : why the message box shows after 5 seconds when the form2 has closed!

Edit
Report

1 Answer

1

Perhaps I am reading the question wrong, but I think the gentlemen needs to know that, to close a form (say form2) opened as Form2.ShowDialog(), you need to set Form2.DialogResult within Form2. Just setting that member is all it takes to close the form and return the result.

answered 2012-10-22T09:25:28.230

Your Answer