Passing data between multiple forms can be done through many ways. This is one of the simpler and clearer methods.Here we try to pass a user input from a form1 to other forms.
For a start start a Windows Forms project. Go to "Project" and add 2 more forms.
The 3 forms should look like this.

Form 1 has buttons to call both forms and form 2 has a button to call form3.
In form1 add the following code.
public string passNameF1
{
get { return textBox1.Text; }
}
the name "passNameF1" is irrelevant. Note that "get" is a keyword. and notice that there is no " ()" after the name.
Now move on to method 2 and add this code.
public string passNameF2
{
set { textBox1.Text = value; }
get { return textBox1.Text; }
}
Form2 can not only obtain data from form1 via "set" it can also provide the data for form3 via "get".
here "value" is also a keyword.
Do the same with the third form. Add the following.
public string passNameF3
{
set { textBox1.Text = value; }
}
we only need to set the values to textbox1 in form 3 so we dont use the "get" method here.
With that done we move back to form1. In the Click event of Form1 s button "Call FORM2"
we type
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.passNameF2 = passNameF1;
f2.Show();
}
we create an instance of form2 and assign the value we "got" from the textbox and assign it to f2's "passnameF2" which will "set" the value to Form2's textBox1.
Similarly for the other button-click we add
private void button2_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.passNameF3 = passNameF1;
f3.Show();
}
Onto form2 now and form2 has a button click event to call form 3 here we add.
private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.passNameF3 = passNameF2;
f3.Show();
}
That's that. run the program and see.