从Form2 C#中的文本框在Form1的列表视图中添加项目

本文关键字:列表 视图 项目 Form1 添加 Form2 文本 | 更新日期: 2023-09-27 18:28:09

我有两种形式,比如Form1和Form2。

Form1中,有一个按钮,当按下该按钮时会显示Form2,还有一个ListView。

Form2中,有一个文本框和一个按钮。当按下按钮时,我希望文本框中的文本作为一个项目添加到Form1中的ListView中。

private void button1_Click(object sender, EventArgs e)
{
     ListViewItem item = new ListViewItem(textBox1.Text);
     Form1.listView1.Items.Add(item);
}

我得到错误

"非静态字段、方法或属性"project.Form1.listView1"

有什么想法吗?

从Form2 C#中的文本框在Form1的列表视图中添加项目

Form2构造函数中获取Form1的实例,并使用该实例访问列表框。

试试这个;

private void button1_Click(object sender, EventArgs e)
{
     ListViewItem item = new ListViewItem(textBox1.Text);
     Form1 f1 = new Form();
     f1.listView1.Items.Add(item);
}

与其破坏OOP结构,不如考虑使用PropertyChangedEvent。一旦创建了Form2实例,就会绑定到在textview中引发更改的事件。

编辑:通过电话写作,所以样本很难创建。请查看此链接以获取一些提示。http://msdn.microsoft.com/en-us/library/system.componentmodel.propertychangedeventhandler.aspx