исключение реентерабельного вызова, брошенное в datagird - PullRequest
0 голосов
/ 24 августа 2018
        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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...