Исходя из требований к дизайну, представление данных не может быть отредактировано напрямую пользователем. Это в режиме только для чтения. Когда пользователь дважды щелкает ячейку, свойство datagridview, доступное только для чтения, становится ложным, и ячейка принимает ввод с клавиатуры. Однако необработанный ввод с клавиатуры необходимо отформатировать, прежде чем он попадет в ячейку. Итак, я перехватываю события KeyPress следующим образом:
private void dgw_keyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
В этот момент ячейка находится в режиме редактирования и в грязном режиме. Затем я обновляю свойство Value в другом методе и вызываю dgw.Refresh()
, который должен отображать обновленное значение в ячейке. Но это не так. он будет обновляться только в том случае, если текущая ячейка не загрязнена и не находится в режиме редактирования. Как заставить ячейку отображать обновленное значение, пока оно все еще находится в режиме редактирования?
Есть идеи?