Rahul
Rahul

Reputation: 1110

How to refresh a current form in C#?

I am creating a multiple form windows application using C#, I have two form one Parent form and a child form.

From parent form I called the child form to add a tree node in the parent form treeview. After entering the details in the child form and pressing "Add" button I want to close the child form and want to add the tree node in the treeview dynamically inside the parent form.

The value is passing perfect, I am using properties for the transfer. Rest by using this.Show() another parent form opens up. I have already tried Invalidate() and Refresh() but the treeview does not get updated.

Upvotes: 0

Views: 1003

Answers (3)

Shankarabalaji S
Shankarabalaji S

Reputation: 11


If you want to refresh after clicking Add buttons, just try to call the load_ function by sending the parameters. example,

button_click(Object sender,Event_args e)
{
 Form_Load(sender,e);
}

Upvotes: 1

Vinay Pandey
Vinay Pandey

Reputation: 8923

Override child form constructor to accept parent form as parameter

ChiildForm chilForm=new ChildForm(parentFormObject);

Now you can call method of parent form that would make the required change on the page.

parentFormObject.RefreshSection();

Upvotes: 2

Ehsan
Ehsan

Reputation: 32721

but the treeview does not get updated

To refresh the treeview you need to rebind it to your datasource after adding the newly added item of child form.

Example:

List<SomeClass> items = new List<SomeClass>();
if(childForm.ShowDialog() == DialogResult.Ok)
{
   items.Add(childForm.newlyAddedItem); //you have mentioned that values are passing perfect
   //your code for rebinding to the treeview
}

Upvotes: 1

Related Questions