No. Do not use static - it is unneccessary and dangerous, likewise, do not use a variable, use a property.
Try to avoid static properties at all times - they can cause nasty bugs if you do not realise what is happening.
Form2:
public string UserName
{
get { return userNameTextBox.Text}
set { userNameTextBox.Text = value; }
}
Form1:
Form2 f = new Form2();
f.UserName = "JoeCool";
if (f.ShowDialog() == DialogResult.OK)
{
Console.WriteLine(f.UserName);
}