通过构造函数传递值

时间:2014-10-06 19:43:39

标签: c# parameter-passing

将文本框的内容从表单传递到另一个。

我被告知多次怎么做,我尝试但是我失败了。 我好像传递了价值,但是Mailer.cs形式不知何故失去了刚收到的东西。

这是我的ContactList.cs代码,该代码应该将SelectedTo.Text发送到Mailer.cs MailTo.Text控件。

这只是一段代码,只需要显示问题区域。

public partial class ContactList : Form
{
    public Contact Contact { get; set; }
    public Mailer mailerOwner;

    public ContactList(Mailer mailerOwner)
    {
        InitializeComponent();
        this.Load += ContactList_Load;
        this.mailerOwner = mailerOwner;
        ConfigureGrid();
    }

这是发送到Mailer.cs的方法

private void OkAdd_Click(object sender, EventArgs e)
{
    Mailer mailer = new Mailer(SelectedTo.Text);
    this.Close();
}

现在来自Mailer.cs的初始化调用

public Mailer(string contactlist)
{
    InitializeComponent();
    MailTo.Text = contactlist;
}

我做错了什么? :|

1 个答案:

答案 0 :(得分:1)

在OkAdd_Click事件中,您正在实例化Mailer的新实例。当click事件完成时,此实例将超出范围。我的猜测是它对于邮件程序实例化的微秒工作正常。

如果您使邮件程序成为类级别成员而非本地成员(在事件范围内),您可能会看到结果。