将数据从一种形式传输到另一种形式
本文关键字:传输 另一种 一种 数据 | 更新日期: 2023-09-27 18:18:47
我有一个c#应用程序,有两个表单(form1,form2)。在btnTransfer_click上的form1中,我打开了第二个表单。
private void btnTransfer_Click(object sender, EventArgs e)
{
Form2 frmConn = new Form2 ;
frmConn .Show();
//i need here values from second form
}
在第二种形式,我有2个文本框(txtUser,txtPassword)和一个按钮(btnOk)。在按钮btnOk我验证用户和密码,如果是正确的,我必须回到第一种形式,并得到这个值点击按钮。
In Form2:
private void btnOk_Click(object sender, EventArgs e)
{
//verify if txtUser and txtPassword are correct
//if are corrects i have to send back to first form
this.Close();
}
我该怎么做?谢谢!
在form2
的类中,创建两个public
类属性,一个用于每个文本框的值:
private String _username = null;
public String UserName { get { return _username; } }
private String _password = null;
public String Password { get { return _password; } }
在form2
中,您可以验证和分配属性:
private void btnOk_Click(Object sender, EventArgs e)
{
//verify if txtUser and txtPassword are correct
if (correct)
{
_username = txtUser.Text;
_password = txtPassword.Text;
}
this.Close();
}
然后您可以在您的form1
代码中检索它们,如下:
private void btnTransfer_Click(Object sender, EventArgs e)
{
//This using statement will ensure that you still have an object reference when you return from form2...
using (Form2 frmConn = new Form2())
{
frmConn.Show();
String user = frmConn.UserName;
String pass = frmConn.Password;
if (!String.IsNullOrEmpty(user) && !String.IsNullOrEmpty(pass))
//do something with them, they are valid!
}
}
通常,它使用数据传输对象:
http://msdn.microsoft.com/en-us/library/ff649585.aspx或一个域对象。
http://msdn.microsoft.com/en-us/magazine/dd419654.aspx