編輯:找到解決方案。 DataGridViewColumn HeaderText單元格定義爲DataGridView中的一行。當它們改變時,它會調用DataGridView.CellValueChanged
事件。NullReferenceException當設計器分配DataGridViewColumn HeaderText
所以我不知道是什麼導致這個問題。每次設置列的HeaderText時,我生成的設計器代碼都會拋出一個NullReferenceException。這些列是在DataGridView屬性中創建的。但是,當我快速嘗試捕捉HeaderText時,名稱是正確的。下面是的HeaderText任務之一:
this.lightType.HeaderText = "Type";
這裏有一個快速的代碼,我驗證的HeaderText是正確賦值(我不是在設計代碼保持此,只是爲了調試)之後。
try
{
this.lightType.HeaderText = "Type";
}
catch(NullReferenceException e)
{
MessageBox.Show(e.Message);
MessageBox.Show(lightType.HeaderText);
}
MessageBox和調試器都在賦值後直接顯示正確的名稱,但賦值仍然會引發NullReferenceException。
任何想法?
可能重複[什麼是NullReferenceException,以及如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-doi-i-fix -it) –
所以'lightType'肯定是null。你能找到它在哪裏初始化('lightType = new ...')? –