void dgvParameters_RowLeave(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1)
return;
Control[] l_ControlList = this.Controls.Find("cmbManual_" + e.RowIndex, true);
PresentationControls.CheckBoxComboBox l_ComboBox = (PresentationControls.CheckBoxComboBox)l_ControlList.FirstOrDefault();
if (l_ComboBox == null)
{
return;
}
l_ComboBox.Hide();
DataGridViewTextBoxCell l_objMouseRep = new DataGridViewTextBoxCell();
l_objMouseRep.Value = Convert.ToString(l_ComboBox.SelectedItem);
if (dgvParameters != null && dgvParameters.Rows.Count > 0)
dgvParameters[2, e.RowIndex] = l_objMouseRep;
}
Событие выхода из строки Datagridview, вызываемое два раза, вызывает проблему повторного входа в эту строку кода dgvParameters [2, e.RowIndex] = l_objMouseRep;
Исключение:
System.InvalidOperationException: операция недопустима, поскольку она приводит к повторному вызову функции SetCurrentCellAddressCore.
в System.Windows.Forms.DataGridView.SetCurrentCellAddressCore (Int32 columnIndex, Int32 rowIndex, логический setAnchorCellAddress, логический validateCurrentCell, логический черезMouseClick