Almost certainly it's the "new win form" part that is giving the problem.
If your Page1 form has a method Called "Foo" which updates the form:
public void Foo(string text)
{
myLabel.Text = text;
}
If you call it from Page1 then it works:
Foo("hello");
But to call it from Page2, you need to access the actual instance of Page1 that is running, and it sounds like you are doing this:
Page1 p1 = new Page1();
p1.Foo("Goodbye");
That won't work, because it is creating a new Page1 and changign that rather than changing the instance you can see. It's like a car: if you put your mobile phone in teh glove box of my car, You don;t expect to find it when you open teh glove box of your car, do you? :laugh:
Have a look at this:
Transferring information between two forms, Part 2: Child to Parent[
^] = it might make it simpler for you.