1

我有 2 个表格,比如说 Form1 和 Form2。

Form1中有一个button,当它被按下时显示 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’需要对象引用

有任何想法吗?

4

3 回答 3

1

在您的Form2构造函数中获取一个实例Form1并使用它来访问列表框。

于 2013-08-18T11:58:54.753 回答
0

尝试这个;

private void button1_Click(object sender, EventArgs e)
{
     ListViewItem item = new ListViewItem(textBox1.Text);
     Form1 f1 = new Form();
     f1.listView1.Items.Add(item);
}
于 2013-08-18T11:56:04.490 回答
0

您应该考虑使用 PropertyChangedEvent,而不是破坏 OOP 结构。一旦您创建 Form2 的实例,就绑定到在 textview 更改中引发的该事件。

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

于 2013-08-18T13:27:04.213 回答