C# 关于窗体间数据的传递
在初学C# Winform过程中,需要在窗体间传递数据
学习了三种简单的传递方法如下:
- 使用构造方法(单向传递)
父窗体:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button_frm1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(textBox_frm1.Text);
f2.Show();
}
}
子窗体:
public partial class Form2 : Form
{
public Form2(string value)
{
InitializeComponent();
textBox_frm2.Text = value;
}
}
- 使用公共静态变量
演示:
父窗体:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button_frm1_Click(object sender, EventArgs e)
{
Temp.value = textBox_frm1.Text;
Form2 f2 = new Form2();
f2.Show();
}
}
子窗体:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
textBox_frm2.Text = Temp.value;
}
}
中间类:
class Temp
{
public static string value;
}
- 设置owner
演示:
主窗体:-----textbox_frm1的modifiers权限设置为 public
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button_frm1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
f2.Owner = this;
}
}
子窗体:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Form1 f1 = (Form1)this.Owner;
textBox_frm2.Text = f1.textBox_frm1.Text;
}
}