Maharzan Manis
Maharzan Manis

Reputation: 25

How to open form 2nd time when it's closed

i doing window app using c#.net.

i have a form name form_1 with menu-strip.

from the menu-strip of form_1, i am opening same form form_1 and closing the same form_1 after using it but if i click that for the second time it is not showing,if i click that for third time it is showing. edit:

mainform

form fm;
bool frm= false;
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
    if (frm== false)
    {
        fm= new form();
        fm.MdiParent = this;
        fm.Show();
        frm= true;
    }
    else 
    {
        if (fm.IsDisposed)
        {
            frm= false;
        }
    }
}

form

form fm = new form();
fm.MdiParent = this;
fm.Show();
this.Close();

Upvotes: 0

Views: 100

Answers (1)

Scott Solmer
Scott Solmer

Reputation: 3897

If you expect your function addToolStripMenuItem_Click to always open fm (assuming it is disposed), then you'll need fm.show() in the else condition as well. You could try something like this instead...

    private void addToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (!frm || fm.IsDisposed)
        {
            if (fm != null && fm.IsDisposed) { frm = false; }

            fm = new form();
            fm.MdiParent = this;
            fm.Show();
            frm = true;
        }
    }

This probably makes your bool frm obsolete, but I left it in in case you're using it for something else.

Upvotes: 1

Related Questions