If I understand correctly (it's still not too clear), you are trying to coordinate Forms A, B and C so that when one is changed, the information from those forms appears in all of the forms. Correct me if I got that wrong.
If that's what you want to do, then you can create a delegate (in Form A and B?) and pass that to the other form(s). Then when the other forms change, in their event handler for whatever event that occurs when something of interest changed, you call the delegate with the required information that will update the other forms that defined the delegate. In the delegate(s), you update the information in the respective form(s).
For example (please check the syntax, this is just pseudo-code):
In Form A:
void MyFormADelegateHandler(int MyParameterFromB)
{
...
}
...
frmB = new FormB();
frmB.ADelegate = MyFormADelegateHandler;
frmB.Show();
...
Then in Form B:
public delegate void FormADelegate(int MyParameterFromB);
public FormADelegate ADelegate = null;
And in the event handler for whatever changed in Form B:
...
...
if (ADelegate != null)
{
ADelegate(MyParameter);
}
...
There might be other ways to do the same thing, but hopefully that should be enough to get you started.