Let's say you have forms A and B; A is the main form, and you want form B to display when you click some button in A. Convenient way to do so is having B show in dialog fashion, which prevents you from clicking anywhere else in the application until it is closed.
On B you need a "public" property; the public modifier means that other classes may access that property to read it or modify it. So have in B something like...
private string Btext = String.Empty;
public string _Btext
{
get {return Btext;}
set {Btext = value;}
}
And suppose you have a textbox (textbox1) and a button (button1) in B that triggers...
private void button1_Click(object sender, EventArgs e)
{
_Btext = textbox1.Text;
this.Close();
}
So now you have a public property in B, so any other class that creates an instance of B will be able to access that value.
Now, on A let's have a button (buttonDisplayB) which displays B and let's you fetch its value...
private void buttonDisplayB_Click(object sender, EventArgs e)
{
B formB = new B();
formB.ShowDialog();
string valueFromB = formB._Btext;
}