如何从一种形式传递字符串值,以另一种形式的Load事件在C#

我需要从Form1传递一个字符串值:如何从一种形式传递字符串值,以另一种形式的Load事件在C#

public void button1_Click(object sender, EventArgs e) 

{

string DepartmentName = "IT";

Form2 frm2 = new Form2();

Frm2.Show();

this.Hide();

}

Form2Load事件。例如:

private void Form2_Load(object sender, EventArgs e) 

{

MessageBox.Show(DepartmentName);

// or

// string sql1 = "select Service_Name from Service, " +

// "EmployeeService where E_Dep = '" + DepartmentName + "' " +

// "and s_ID = Service_ID";

}

回答:

只需在Form2类上创建一个属性,并在显示Form2之前将其设置。

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();

}

回答:

记住,形式只是班就像任何其他

public class Form2 : form 

{

public string ShowMe {get;set;}

private void Form2_Load(object sender, EventArgs e)

{

MessageBox.Show(ShowMe);

}

}

从表1

public void button1_Click(object sender, EventArgs e) 

{

string DepartmentName = "IT";

Form2 frm2 = new Form2();

frm2.ShowMe = DepartmentName ;

Frm2.Show();

this.Hide();

}

回答:

你不这样做,那办法。相反,你可以在构造器通过您的字符串值:

public class Form2 

{

public Form2(string myParameter) : this()

{

//do whatever you need to do with myParameter

}

}

其他应答者也告诉你如何与一个公共属性做到这一点。

回答:

PRO提示

在未来,想想它在一个更通用的方法:表单只是一个类,Load事件仅仅是一个方法。

如果您试图在两个不是Forms的对象之间传递值,那么您可以在一个类中有一个其他对象可以访问的公共属性。这是在rsbarro的答案的心脏,我喜欢称之为‘表单是班太’:)

回答:

有从Form2的传递字符串到Form1一个更简单的方法。创建形式之间并在窗体2的关系,创建Form1的变量,需要调用Form1中的变量,并赋值给它....

public partial class Form_2 : Form 

{

public readonly Form1 _form1;

public Form_2(Form1 form1)

{

_form1 = form1;

InitializeComponent();

}

private void Form2(object sender, EventArgs e)

{

_form1.Remark = txtbx_remark.Text;

}// Remark is a string in Form1 ....

以上是 如何从一种形式传递字符串值,以另一种形式的Load事件在C# 的全部内容, 来源链接: utcz.com/qa/258407.html

回到顶部