When you create the datagridview associate an event handler for its 'EditingControlShowing' event.
sampleDataGridView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing);
And in the event handler add the selectedIndexChanged eventhandler to the combobox.
private void DataGridViewEditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
//If second column has the combobox.
if (sampleDataGridView.CurrentCell.ColumnIndex == 2)
{
sampleComboBox = e.Control as ComboBox;
if (myComboBox != null) {
sampleComboBox.SelectedIndexChanged += sampleComboBox_SelectedIndexChanged;
}
}
And then, the selectedIndexChanged event would fire as expected.
private void sampleComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedValue = ((ComboBox)sender).SelectedValue.ToString();
}