方法1.通过构造函数传值
Form1:
Form2 data = new Form2();//实例化对象
   data.Name1 = textBox1.Text;//给对象赋值
              data.Show();
Form2:
  public partial class Form2 : Form
      {
            TextBox text;//定义一个实参,存储Form1的值
          public Form2(TextBox txt)//定义一个形参
          {
                InitializeComponent();
                text = txt;//将形参和实参对接,这句必须放在InitializeComponent();的后面,否则会引起“空引用异常”
          }
          private void button1_Click(object sender, EventArgs e)
          {
                text.Text = textBox1.Text;//将text里的内容赋值给实参
          }
      }
方法2.通过全局函数传值
Form1:
  private void button1_Click(object sender, EventArgs e)
          {
                Form2 data = new Form2();//实例化对象
                data.Name1 = textBox1.Text;//给对象赋值
                data.Show();
          }
Form2:
string name;//定义一个变量
  public string Name1//封装
          {
                get { return name; }
                set { name = value; }
          }
          private void Form2_Load(object sender, EventArgs e)
          {
                textBox1.Text = name;//赋值
}
Tip:
1.不加static的变量只能在当前命名空间使用。
2.向其他类里传值,需要先实例化,名称要和类名一致。
原文:https://www.cnblogs.com/deepsleepinger/p/9898977.html