Я почти уверен, что вы видите, что DataGridView запускает различные события выбора (CurrentCellChanged, SelectionChanged и т. Д.) Во время процесса привязки данных. Поскольку вы прикрепили обработчик событий к одному из этих событий, он запускается.
Способ обойти это - присоединить обработчик событий к DataBindingComplete объекта DataGridView и присоединить к нему обработчик CurrentCellChanged.
// Attach the event in the form's constructor
this.dataGridView1.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dataGridView1_DataBindingComplete);
// And in the eventhandler, attach to the CurrentCellChanged event.
void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
dataGridView1.CurrentCellChanged += new EventHandler(dataGridView1_CurrentCellChanged);
}