如何从一种形式传递字符串值,以另一种形式的Load事件在C#
我需要从Form1
传递一个字符串值:如何从一种形式传递字符串值,以另一种形式的Load事件在C#
public void button1_Click(object sender, EventArgs e) {
string DepartmentName = "IT";
Form2 frm2 = new Form2();
Frm2.Show();
this.Hide();
}
到Form2
Load
事件。例如:
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