C#listview1窗口中的内容传递给listview2
时间: 2024-04-25 20:21:19 浏览: 6
要将C#中ListView1窗口中的内容传递给ListView2,可以使用委托的方法来实现。首先,在同一个命名空间下定义一个代理,这个代理是全局的。可以在Form1和Form2平级的位置定义一个代理,如下所示:
public delegate void MyInvoke(string Item1, string Item2, string Item3);
然后,在Form1中创建一个委托实例,并将Form2的ListView2控件传递给Form1的委托实例。在Form1中的代码如下所示:
private void toolStripButton1_Click(object sender, EventArgs e)
{
FormAdd f = new FormAdd(listView1);
f.MyDelegate = new MyInvoke(UpdateListView2);
f.ShowDialog();
}
在Form2中,定义一个公共的委托属性,并在Form2的构造函数中接收Form1传递过来的ListView2控件。在Form2中的代码如下所示:
public MyInvoke MyDelegate { get; set; }
public FormAdd(ListView listView2)
{
InitializeComponent();
this.listView2 = listView2;
}
最后,在Form2中的某个事件或方法中,通过调用委托实例来将ListView1窗口中的内容传递给ListView2。在Form2中的代码如下所示:
private void UpdateListView1(string Item1, string Item2, string Item3)
{
listView2.Items.Add(Item1);
listView2.Items[listView2.Items.Count - 1].SubItems.Add(Item2);
listView2.Items[listView2.Items.Count - 1].SubItems.Add(Item3);
}
通过以上步骤,就可以实现将C#中ListView1窗口中的内容传递给ListView2了。