将值传递给另一种形式的c#
本文关键字:另一种 值传 | 更新日期: 2023-09-27 18:16:50
如何传递txtFirstName的值。文本到另一种形式?还有其他的输入。(我粘贴了我正在处理的两个表格)。请帮帮我。还是使用多维数组更好?我在做一个类似于账户登录注册程序,在那里你可以查看你输入的信息与最多5个帐户的配置文件。请帮助。谢谢。
public partial class frmInfo : Form
{
public frmInfo()
{
InitializeComponent();
}
private void btnConfirm_Click(object sender, EventArgs e)
{
if (txtFirstName.Text == String.Empty)
{
errorProvider1.SetError(txtFirstName, "Your First Name is important.");
}
else
{
errorProvider1.Clear();
}
if (txtLastName.Text == String.Empty)
{
errorProvider2.SetError(txtLastName, "Your Last Name is important.");
}
else
{
errorProvider2.Clear();
}
if (txtFirstName.Text != String.Empty && txtLastName.Text != String.Empty)
{
frmProfile profile = new frmProfile();
profile.Show();
this.Hide();
}
}
}
//Other form
public partial class frmProfile : Form
{
public frmProfile()
{
InitializeComponent();
}
private void changePasswordToolStripMenuItem_Click(object sender, EventArgs e)
{
frmChangePassword changepass = new frmChangePassword();
changepass.Show();
this.Hide();
}
private void logOutToolStripMenuItem_Click(object sender, EventArgs e)
{
frmMain logout = new frmMain();
logout.Show();
this.Hide();
}
}
你正在使用一种面向对象的语言,所以为什么不尝试使用类并传递这个类的实例呢?
首先用相关属性定义你的类
public class Profile
{
public string FirstName {get; set;}
public string LastName {get; set;}
.... other properties will follow as you like...
}
现在在第一个表单上的按钮的click事件中
private void btnConfirm_Click(object sender, EventArgs e)
{
Profile pf = new Profile();
if (txtFirstName.Text.Trim() == String.Empty)
{
errorProvider1.SetError(txtFirstName, "Your First Name is important.");
return;
}
else
{
errorProvider1.Clear();
pf.FirstName = txtFirstName.Text;
}
.......
// Pass your Profile class instance to the constructor of the frmProfile
frmProfile profile = new frmProfile(pf);
profile.Show();
this.Hide();
}
现在在frmProfile类中使用传入的实例
public partial class frmProfile : Form
{
public frmProfile(Profile pf)
{
InitializeComponent();
txtFirstName.Text = pf.FirstName;
.....
}
.....
}
通过这种方式,您可以只传递一个包含所有数据的变量,而无需将每个单独的文本框传递给frmProfile表单
你可以做
frmProfile profile = new frmProfile();
profile.txtFullName.Text = String.Format("{0} {1}",
txtFirstName.Text,
txtLastName.Text);
profile.Show();
您可以向frmProfile的构造函数添加两个参数。然后,在构造表单的新实例时,将文本框的值传递给表单。
构造函数:
public frmProfile(string Firstname, string Lastname) {
// Do something with Firstname and Lastname
InitializeComponent();
}
然后在btnConfirm_Click函数中:
if (txtFirstName.Text != String.Empty && txtLastName.Text != String.Empty) {
frmProfile profile = new frmProfile(txtFirstName.Text, txtLastName.Text);
profile.Show();
this.Hide();
}