C# 如何在form2中添加项目-并在Form1的ListView中查看下摆?

C# 如何在form2中添加项目-并在Form1的ListView中查看下摆?,c#,winforms,C#,Winforms,我有两个表单,在表单2中,我有一个按钮,当我按下这个按钮时,它会添加Fname和Lname项。我想在表单1的ListView中查看这些项目 提前感谢您需要在Form1中创建一个public方法来添加值,或者从Form1中将listview公开为public 也许像 public void AddToListView(string fname, string lname) { //add values here to ListView } 这听起来像是需要一个presenter类,负责用

我有两个表单,在表单2中,我有一个按钮,当我按下这个按钮时,它会添加
Fname
Lname
项。我想在表单1的ListView中查看这些项目


提前感谢

您需要在Form1中创建一个public方法来添加值,或者从Form1中将listview公开为public

也许像

public void AddToListView(string fname, string lname)
{
    //add values here to ListView
}

这听起来像是需要一个presenter类,负责用相同的数据填充和维护两个表单。然后,您可以从表单中公开按钮单击事件,并将演示者连接起来处理它。从这里,您可以选择以任何方式更新您想要的任何形式

例如:

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(...);
   }
}
公共类MyForm1:Form,IMyForm1
{
…一堆其他的东西
公共事件按钮点击;
}
公共类MyPresenter
{
公共静态void Main()
{
…/其他东西
myForm1.onButtonClick+=新事件处理程序(ButtonHandler);
}
私有void按钮句柄(对象发送方,事件参数e)
{
//将项目添加到表单1
...
//将项目添加到表格2中。例如:
表格2.AddListItem(…);
}
}
有一个演示者的想法是,你有一个与这些表单相关的逻辑的集中位置,因此表单可以尽可能薄,它们甚至不必相互了解


希望有帮助。如果我没有抓住要点或需要澄清我所说的任何内容,请大声喊一声。

单击表单2中的按钮是将项目添加到表单1中列表视图的唯一方式吗?