将文本框的内容从窗体传递到另一个窗体。通过构造函数传递值
我已经被告知无数次该怎么做,我尝试了它,但我失败了。 我似乎通过了罚款,但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;
}
初始化呼叫我在做什么错误的方法? :|
你能更具体地了解*什么*不工作?乍一看你的代码看起来很好。 – BradleyDotNET 2014-10-06 19:47:05
您的ContactList类中有一个Mailer对象,但是您在Click处理程序中使用该文本创建了一个新实例。那真的是你想要做的吗? – helrich 2014-10-06 19:47:51
您并未更新您认为自己的表格。在你的点击事件中,你正在创建一个_new_表单并更新它,然后把它扔掉。 mailerOwner是你希望更新的表单吗?在你的'OKAdd_Click'方法中,只需使用'mailerOwner.MailTo.Text = SelectedTo.Text'。这假定MailTo文本框是公开的。 – 2014-10-06 20:19:10