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

时间:2010-02-21 11:46:42

标签: c# winforms

我有2个表单,在表单2中,当我按下此按钮时,我有一个添加FnameLname项的按钮。我想在ListView中看到Form1中的那些项目

提前谢谢

2 个答案:

答案 0 :(得分:1)

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

例如:

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(...);
   }
}

拥有演示者的想法是,您拥有与这些表单相关的逻辑的集中位置,因此表单可以尽可能薄,甚至不必彼此了解。

希望有所帮助。如果我错过了这一点或需要澄清我所说的任何内容,请给我一个喊叫。

答案 1 :(得分:0)

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

也许像

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