Reputation: 1550
I have two forms let it be Form A and Form B. When I click save button on Form B I want the DataGridView of Form A to refresh.
Which method should I use?
Upvotes: 3
Views: 7734
Reputation: 47490
Using a event is one way of doing this. Below is another way which is more object oriented.
Add public Refresh method in FormA.
public void RefreshDataGrid()
{
//Do refresh
}
Pass the instance of FormA to FormB when constructing FormB. You have to create FormB contructor to take FormA instance.
private FormA myFormA;
public FormB(FormA formA)
{
myFormA = formA;
}
Now you can call FormA.ResfreshGrid() method from FormB.
myFormA.RefreshGrid();
Upvotes: 4
Reputation: 1145
implement code in Form A like this:
private delegate void DEmpty();
public void RefreshDataGrid()
{
this.Invoke(new DEmpty(datagrid.Refresh));
}
then call this when button is clicked on B
Upvotes: 1
Reputation: 3211
Create a method for binding the gridview, call this method on form load of form A, and if the form is already opened, you have to use its instance (of form A), and call the same binding method of Form A for gridview binding.
Upvotes: 0