Друзья, у меня есть приложение Windows, где я использую сетку данных для отображения существующих данных, а также для добавления / редактирования данных. Просмотр сетки данных имеет функцию, которая при нажатии клавиши Tab / Enter фокус перемещает к следующей ячейке. Если это последний столбец в строке, то фокус перейдет к первому столбцу следующей строки. Теперь после ввода данных для ячейки и нажатия клавиши Tab / Enter, если появляется сообщение об ошибке для неправильно введенных данных (например, числовое значение неправильно отформатировано или значение меньше нуля и т. Д. И т. Д.), После отображения сообщения об ошибке в окно сообщения, фокус перемещается к следующей ячейке. Есть ли способ, что, если есть сообщение об ошибке для определенной ячейки, тогда фокус будет установлен только на эту ячейку, генерирующую ошибку, он не будет перемещен в следующую ячейку? В событии dgView_CellEndEdit я попытался выбрать ячейку с помощью кода:
dgView.Rows[e.RowIndex].Cells["ColumnName"].Value = "0.00";
dgView.Select();
dgView.CurrentCell.Selected = true;
Но это не работает. В событии dgView_SelectionChanged я использовал:
dgView.CurrentCell = dgView[RequiredColumnIndex, RequiredRowIndex];
dgView.BeginEdit(true);
Это тоже не поможет. Пожалуйста, помогите мне решить проблему.