将文本框的内容从表单传递到另一个。
我被告知多次怎么做,我尝试但是我失败了。
我好像传递了价值,但是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;
}
我做错了什么? :|
答案 0 :(得分:1)
在OkAdd_Click事件中,您正在实例化Mailer的新实例。当click事件完成时,此实例将超出范围。我的猜测是它对于邮件程序实例化的微秒工作正常。
如果您使邮件程序成为类级别成员而非本地成员(在事件范围内),您可能会看到结果。