NullReferenceException при изменении свойства dgv - PullRequest
0 голосов
/ 03 мая 2018

Я могу обойти это, но хотел бы точно указать, где и почему это происходит

как мы все знаем 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)

Кто-нибудь может пролить свет?

...