【发布时间】:2015-03-31 18:50:53
【问题描述】:
我有一个显示多行 ListViewItems 的 ListView。用户可以通过单击编辑按钮来编辑该行,该按钮打开另一个表单,显示所选行和其中的数据。 我遇到的问题是,当我按下更新按钮时,我似乎无法更新父表单上的 ListViewItem。我正在使用的代码不断抛出异常消息“ToDoList.exe 中发生'System.NullReferenceException' 类型的未处理异常”。我尝试了不同的方法来更新所选项目,但似乎无法获得工作代码。
这是我在显示所选行的表单上使用的代码,button1 是应该更新 listView 的“更新行”按钮。
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = (Form1)this.Owner;
int i = 0;
ListViewItem item = form1.listView1.SelectedItems[i];
textBox1.Text = item.SubItems[0].Text;
richTextBox1.Text = item.SubItems[1].Text;
comboBox1.Text = item.SubItems[2].Text;
dateTimePicker1.Text = item.SubItems[3].Text;
this.Close();
}
【问题讨论】:
-
您是否在调试中检查过
form1是NULL还是form1.listView1是NULL? -
在调试中说 form1 为空。它声明“附加信息:对象引用未设置为对象的实例”
-
请看我的回答,你得提前手动设置
Owner字段。 -
我已经尝试过了,但我仍然遇到同样的错误。