Я обнаружил, что если вы пытаетесь настроить столбцы во время загрузки формы, то у вас возникают странные проблемы, подобные этой. Вместо этого, непосредственно перед заполнением сетки, я проверяю, определены ли столбцы, а если нет, то я продолжаю и настраиваю столбцы в этой точке. Это работает последовательно для меня - при заполнении столбцов я устанавливаю свойство для автоматического добавления столбцов = false первым делом:
Private Sub Populate_dgvQuoteSelection(status_id As Int32)
dgvQuoteSelection.DataBindings.Clear()
If dgvQuoteSelection.Columns.Count = 0 Then
Setup_dgvQuoteSelection()
End If
Try
dgvQuoteSelection.DataSource = DataService.Quote_HeaderDataService.Quote_GetListView_byStatus(status_id)
Catch ex As Exception
MessageBox.Show(String.Format("An error occured while trying to get the grid data: {0}", ex.Message), "Error populating grid", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub