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.向其他类里传值,需要先实例化,名称要和类名一致。
转载于:https://www.cnblogs.com/deepsleepinger/p/9898977.html