2011-01-31 58 views
0

的实例我有以下代码:C#对象引用不设置为一个对象

panel4.Controls.Clear(); 
     panel4.Controls.Add(dgv.addDatagrid(animal, experiment, pluginIdentifier)); 
     dgv.ConfigureDatagrid(); 

当用户点击一个TreeView一个节点将调用此方法。当我第一次点击它时,它按预期工作并获取数据网格并将其添加到面板。但是,任何后续调用,我都会在panel4.Controls.Clear()行中得到'对象引用未设置为对象的实例'错误。任何人都知道为什么?

谢谢。

+1

在你的代码中的东西正在杀死`panel4`,因为控件永远不会为空afaik ..通过发布代码`ConfigureDatagrid`方法开始。另一个选择是你得到了错误的行,也许`dgv`为空。 – 2011-01-31 10:55:23

+0

你可以添加更多的代码吗?很明显`panel4`被重置在某个地方。 – Vlad 2011-01-31 10:56:21

回答

2

如果你在panel4.Controls.Clear()上放置一个断点,并在第二次检测到断点时在所有控件上检查null,你应该能够看到哪个抛出错误。

它可能是panel4或DGV

0

只是猜测基于你的代码...这既可以是panel4为空或panel4.Controls为空。看看panel4在哪里以及如何使用,并确保其正确初始化

0

由于任何字段的值变为null,所以发生错误。调试它的Controlls.Add函数正在调用,并看到任何参数具有空值

相关问题