2011-01-31 62 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函數正在調用,並看到任何參數具有空值

相關問題