Search code examples
c#winformsrefreshrepaintinvalidation

How can I refresh One form when the other form is closed?


I have been developing project in c#.

It has 2 form and these are connected with between each other.

I want to do that when second form is closed, first form refresh.

If I use Thread's Sleep program will be tired. I want to do this with closing events. How can I do ?(Like java's repaint)

Codes are below: Form1

public static Form1 form;
    public Form1()
    {
        InitializeComponent();
        form = this;
    }

    private void button11_Click(object sender, EventArgs e)
    {
        Form2 yeniform = new Form2();
        yeniform.Show();

    }

Form2(Close Button)

 private void button1_Click(object sender, EventArgs e)
    {

            Form1.form.Invalidate();
            Form1.form.Refresh();
            this.Close();
    }

Solution

  • Bind Form_Closing event in your first form.

    //Form1
    private void button11_Click(object sender, EventArgs e)
    {
        Form2 yeniform = new Form2();
        yeniform.FormClosing += new FormClosingEventHandler(this.Form2_FormClosing);
        yeniform.Show();
    
    }
    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        //Do your stuff here.
    }