如何在C#中将字符串值从一个表单传递到另一个表单的load事件
我需要从Form1
传递一个字符串值:
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 } }
其他的回答者也告诉过你如何使用公共财产。
有一种更简单的方法将字符串从Form2传递给Form1 。 在Form2和Form2之间创建一个关系,创建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 ....
专家提示
将来,请以更通用的方式考虑它:Form只是一个类,而Load事件只是一种方法。
如果您尝试在两个非Forms的对象之间传递值,则您将在一个类中拥有其他对象可以访问的公共属性。 这是rsbarro回答的核心,我喜欢称之为“表格也是类”:)
上述就是C#学习教程:如何在C#中将字符串值从一个表单传递到另一个表单的load事件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/991451.html