У меня есть 2 формы в настольном приложении C#. Form1 и Form2.Значение из Form2, не обновляющееся в Form2
Form1 содержит открытый метод, который добавляет элемент в контроле ListBox следующим образом:
public void AddToList(string item)
{
listBox.Items.Add(item);
}
Когда я называю этот метод непосредственно на некоторые нажатия кнопки, то он работает отлично. Но когда я вызываю этот метод из Form2, он ничего не добавляет в элементе управления ListBox в Form1. Код в форме 2 выглядит следующим образом:
Form1 frm = new Form1();
frm.AddToList("something");
Когда я запускаю это, ничего не происходит. Никакой ошибки нет. Он просто не добавляет ни одного элемента в ListBox.
Что я делаю неправильно?
Похоже, вы создаете новый экземпляр Form1, а не ссылаетесь на существующий экземпляр в вашем графическом интерфейсе. Можете ли вы разместить больше своего кода на уровне GUI, где отображаются/используются Form1 и Form2? –
У вас есть два * типа * в вашем проекте. Но вы создаете более одного * объекта * каждого типа. Добавьте frm.Show(), чтобы увидеть свою ошибку. –
Как вы создаете свои две формы? Являются ли они оба созданы третьей формой, например MDI, или Form1, создающей Form2, или как? Это поможет нам дать ответ о том, как заставить ваши две формы разговаривать друг с другом. –