There are several things you can do. First, you could pass the controls to your other form, using a constructor or property. Another method (the preferred one) is passing your Form to the other Form as an Interface, which has some methods like "Update". When you want the Form to update then simply call this (check the option of passing values to constructors below). You should never have direct access to private fields. Always encapsulate them through methods and/or properties. I have pasted this answer from a question I have answered earlier. They are only a few options to pass objects between forms. The one using a Method could also apply here.
To pass Objects between Forms you can follow one of these approaches:
One is using a Property on one of your Forms.
MyForm frm = new MyForm();
frm.MyValue = "some value";
frm.Show();
Another is passing it to the constructor.
public partial class MyForm : Form
{
private IMyInterface _aForm;
public MyForm(IMyInterface aForm)
{
InitializeComponent();
_aForm = Form;
}
}
Usage would look like this:
MyForm frm = new MyForm(this);
frm.Show();
Another approach could be to use a Method...
public partial class MyForm : Form
{
private String _myValue;
public void SetValue(String myValue)
{
_myValue = myValue;
}
}
Usage:
MyForm frm = new MyForm();
frm.Show();
frm.SetValue("some value");
So now you got your data in another Form, all you need to do is handle it there, edit it etc. and update it in the Form it originally came from.
Hope it helps :)