设计器分配 DataGridViewColumn HeaderText 时出现 NullReferenceException

NullReferenceException when Designer assigns DataGridViewColumn HeaderText

编辑:找到解决方案。 DataGridViewColumn HeaderText 单元格定义为 DataGridView 中的一行。当它们发生变化时,它会调用一个 DataGridView.CellValueChanged 事件。

所以我不知道是什么导致了这个问题。我生成的设计器代码每次设置列的 HeaderText 时都会抛出 NullReferenceException。这些列是在 DataGridView 属性中创建的。但是,当我进行快速尝试以查看 HeaderText 是什么时,名称是正确的。这是 HeaderText 分配之一:

this.lightType.HeaderText = "Type";

这是一个快速代码,我在其中验证了 HeaderText 在分配后是否正确(我没有将其保留在 Designer 代码中;只是为了调试)。

try
   {
   this.lightType.HeaderText = "Type";
   }
catch(NullReferenceException e)
   {
   MessageBox.Show(e.Message);
   MessageBox.Show(lightType.HeaderText);
   }

MessageBox 和调试器都在赋值后直接显示正确的名称,但赋值仍然抛出 NullReferenceException。

有什么想法吗?

显然,列名称被定义为 DataGridView 的一行,因此当名称更改时,将调用 DataGridView.CellValueChanged 事件,我的代码中有一个函数调用了未声明的值.