dgv属性的NullReferenceException更改

时间:2018-05-03 14:40:36

标签: vb.net visual-studio-2015 datagridview nullreferenceexception

我可以解决这个问题,但是想确定发生这种情况的原因

众所周知NullReferenceException是一个.net异常,表示在对象具有值之前对其进行的引用。但是,如果可以将其他属性分配给同一个对象,为什么会发生这种情况?

我的例子如下:

'before this line, I create and populate a datatable (dt)
With dgvWMStockList
    'assign the datasource to the dgv
    .DataSource = dt
    'configure its settings
    .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
    .Columns("Description").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
    'NullReferenceException gets thrown next
    .Columns("Description").MinimumWidth = 200
End With

在调试期间,我收到错误,然后1秒后,我可以继续而不编辑代码。这表示引用是从代码外部设置的,或者是从另一个线程设置的。

请注意,将.MinimumWidth调用移到With子句之外并不能解决问题。

堆栈表示:

   at System.Windows.Forms.DataGridViewBand.set_Thickness(Int32 value)
   at System.Windows.Forms.DataGridViewBand.set_MinimumThickness(Int32 value)

任何人都可以解释一下吗?

0 个答案:

没有答案