Как добавить элемент в form2 - и увидеть подол в ListView в Form1? - PullRequest
2 голосов
/ 21 февраля 2010

У меня есть 2 формы, в форме 2 у меня есть кнопка, которая добавляет Fname и Lname элементы, когда я нажимаю эту кнопку. Я хочу видеть эти элементы в ListView, который находится в Form1

Спасибо заранее

Ответы [ 2 ]

1 голос
/ 21 февраля 2010

Это похоже на случай, когда вам нужен класс докладчика, который отвечал за заполнение и ведение обеих форм одними и теми же данными. Затем вы можете выставить событие нажатия кнопки в вашей форме и подключить докладчика к нему. Отсюда вы можете обновить любую форму по вашему желанию.

Например:

public class MyForm1 : Form, IMyForm1
{
   ... // Bunch of other stuff
   public event<EventHandler> onButtonClick;
}

public class MyPresenter
{
   public static void Main()
   {
       ... // Other stuff
       myForm1.onButtonClick += new EventHandler<EventArgs>(ButtonHandler);
   }

   private void ButtonHandler(object sender, EventArgs e)
   {
       // Add item to form1
       ...
       // Add item to form2. Eg:
       form2.AddListItem(...);
   }
}

Идея наличия докладчика заключается в том, что у вас есть централизованное расположение для логики, связанной с этими формами, поэтому формы могут быть максимально тонкими, и им даже не нужно знать друг о друге.

Надеюсь, это поможет. Напишите мне, если я упустил суть или нужно уточнить все, что я сказал.

0 голосов
/ 21 февраля 2010

Вам нужно будет либо создать открытый метод в Form1, чтобы добавить значения, либо предоставить представление списка как public из Form1.

Может быть, что-то вроде

public void AddToListView(string fname, string lname)
{
    //add values here to ListView
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...