如何在C#中将字符串值从一个表单传递到另一个表单的load事件

Abd*_*lek 10 c# winforms

我需要传递一个字符串值Form1:

public void button1_Click(object sender, EventArgs e)
{
    string DepartmentName = "IT";
    Form2 frm2 = new Form2();

    Frm2.Show();
    this.Hide();
}
Run Code Online (Sandbox Code Playgroud)

参加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";
}
Run Code Online (Sandbox Code Playgroud)

rsb*_*rro 28

只需在Form2类上创建一个属性,然后在显示Form2之前设置它.

public class Form2
{
   ...
   public string MyProperty { get; set; }

   private void Form2_Load(object sender, EventArgs e)
   {
       MessageBox.Show(this.MyProperty);
   }
}
Run Code Online (Sandbox Code Playgroud)

从Form1:

public void button1_Click(object sender, EventArgs e)
{
    string departmentName = "IT";
    Form2 frm2 = new Form2();
    frm2.MyProperty = departmentName;
    frm2.Show();
    this.Hide();
}
Run Code Online (Sandbox Code Playgroud)


rer*_*run 5

请记住,表单只是与其他类似的类

public class Form2 : form
{
   public string ShowMe {get;set;}
   private void Form2_Load(object sender, EventArgs e)
   {
       MessageBox.Show(ShowMe);

   }

}
Run Code Online (Sandbox Code Playgroud)

从表格1

public void button1_Click(object sender, EventArgs e)
{
    string DepartmentName = "IT";
    Form2 frm2 = new Form2();
    frm2.ShowMe = DepartmentName ;
    Frm2.Show();
    this.Hide();


}
Run Code Online (Sandbox Code Playgroud)