C#跨窗体传值方法

方法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.向其他类里传值,需要先实例化,名称要和类名一致。

猜你喜欢

转载自www.cnblogs.com/deepsleepinger/p/9898977.html