将字符串发送到现有表单
本文关键字:表单 字符串 | 更新日期: 2023-09-27 17:49:18
我知道这个线程可以将字符串从一种形式发送到另一种形式。但如果你看一下这个方法,它必须创建一个新的表单,然后在那里检索字符串。是否有一种方法来传递字符串到现有的形式?
例如:public class Form2
{
...
public string MyProperty { get; set; }
private void Form2_Load(object sender, EventArgs e)
{
MessageBox.Show(this.MyProperty);
}
}
从Form1: public void button1_Click(object sender, EventArgs e)
{
string departmentName = "IT";
Form2 frm2 = new Form2();
frm2.MyProperty = departmentName;
frm2.Show();
this.Hide();
}
当我单击button1时,将打开发送字符串的新表单。如果frm2
已经打开了,我想把字符串传递给那个表单,而不是一个新的表单,该怎么办?
要做你想做的,你必须保存一个引用到你的表单,然后简单地检查它是否已经存在:
private Form2 myForm;
// Then, in your button code:
if (myForm == null)
myForm = new Form2();
myForm.MyProperty = departmentName;
myForm.Show();
您可以在Form1
类上创建一个属性,并将其用作Form2
的引用:
public class Form1 : Form
{
private Form2 mForm2 { get; set; }
public void button1_Click(object sender, EventArgs e)
{
string departmentName = "IT";
if (mForm2 == null)
mForm2 = new Form2();
mForm2.MyProperty = departmentName;
frm2.Show();
this.Hide();
}
}