2010-05-28 48 views
0

这是我编写的示例代码,用于在运行时添加一些带有控件的标签页。但是当我运行它时,会出现Null Ref异常错误。 我做错了什么部分?在运行时添加TabPages时为空参考

TabPage[] tabPages = new TabPage[2]; 
CheckBox ck = new CheckBox(); 
tabPages[0].BackColor = Color.Firebrick; 
tabPages[0].Controls.Add(ck); 
tabPages[1].BackColor = Color.Firebrick; 
tabPages[1].Controls.Add(ck); 
tabGuy.SuspendLayout(); 
tabGuy.TabPages.Add(tabPages[0]); 
tabGuy.TabPages.Add(tabPages[1]); 
tabGuy.ResumeLayout(); 

回答

4

你错过任何转让之前tabPages[0] = new TabPage()tabPages[1] = new TabPage()。创建一个数组将其每个元素都分配给其默认值,即任何引用类型都是null

3

在我看来,你只是创建的TabPage的新阵,我会建议尝试

tabPages[0] = new TabPage(); 

如果这是一个编译的应用程序,你可以在调试器中运行这个,你应该能够确切地看到哪一行抛出异常。在这种情况下,我会想到它是在该行:

tabPages[0].BackColor = Color.FireBrick; 
+0

两个答案这基本上是相同的,在同一时间提交,但你有较少的点,所以我给你的赞成票: ) – ckramer 2010-05-28 23:37:44