0

我正在尝试创建一个新表单,然后将其添加到列表中,但出现错误:Object reference not set to an instance of an object.

这是我的代码:


List<Form> Forms;

public void addform()
{
   string name = "FormName";
   Form newform = new Form();
   newform.Name = name;
   newform.Text = newform.Name;
   newform.ShowDialog();
   Forms.Add(newform); //I get the error here
}
4

2 回答 2

4

您需要像这样创建列表的实例

List<Form> Forms=new List<Form>();

这应该工作

于 2013-10-13T17:00:11.067 回答
3

该行:

List<Form> Forms;

只需创建一个名为 Forms 的新引用。它的值为空。没有创建列表或分配给变量。如果您尝试在此引用上调用方法,它将失败。

如果你改为写:

List<Form> Forms = new List<Form>();

您正在托管堆上创建一个新的空 List-of-Form-objects,并将引用分配给 Forms 变量。现在这是一个有效的列表,可以毫无问题地添加到其中。

于 2013-10-13T17:10:19.513 回答