Передача содержимого текстового поля из формы в другую.Передача значений через конструктор
Мне неоднократно говорили, как это сделать, я пытаюсь это сделать, но я терплю неудачу. Я, кажется, передаю значение отлично, но форма 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
У вас есть объект Mailer в вашем классе ContactList, но вы создаете новый экземпляр в обработчике Click с текстом. Это действительно то, что вы хотите сделать? – helrich
Вы не обновляете форму, которую считаете собой. В событии клика вы создаете форму _new_ и обновляете ее, а затем отбрасываете. Форма 'mailerOwner', которую вы хотите обновить? В методе 'OKAdd_Click' просто используйте' mailerOwner.MailTo.Text = SelectedTo.Text'. Это предполагает, что текстовое поле MailTo является общедоступным. –