C# 如何在form2中添加项目-并在Form1的ListView中查看下摆?
我有两个表单,在表单2中,我有一个按钮,当我按下这个按钮时,它会添加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类,负责用
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中列表视图的唯一方式吗?