c#表单返回值?

时间:2012-11-11 18:35:00

标签: c# winforms forms

我有一张表格,可以打开另一张表格。用户在此处写入一些信息。当关闭第二个表格时,在第一个表格上,我需要使用之前添加的信息。

(添加的信息是一个字符串 - 一个电子邮件地址,我会将它添加到第一个表单中的列表框项目。)

我尝试了Close()或Hide()。但无论顺序是什么,我在新表格关闭时遇到问题,或者它根本没有打开。

2 个答案:

答案 0 :(得分:7)

您可以使用包含该值的表单的字符串属性。它只会公开私人电子邮件字段的价值。

例如:

public class SomeForm : Form
{
    public string Email
    {
        get
        {
            return txtEmail.Text;
        }
    }
}

然后从一些外部表单中,您可以显示表单并读取表单关闭后输入到电子邮件字段中的值:

using (var form = new SomeForm())
{
    if (form.ShowDialog() == DialogResult.OK)
    {
        string email = form.Email;
        // do something with the email
    }
}

答案 1 :(得分:0)

form1获取值并在parameter构造函数中传递为form2。请参阅下面的代码

private void button1_Click(object sender, EventArgs e)
{
      string email = listBox1.SelectedItem.ToString();
      Form2 secondForm = new Form2(email);
      this.Hide();
      secondForm.Show();
}

在Form2构造函数中:

 public Form2(string email)
 {
       textbox2.text = email;
 }
相关问题