Конечно, вы можете использовать отражение для доступа к конструктору в любом случае, но за пределами модульных тестов это кажется довольно грубым.

ользую DataGridView в моем приложении WinForms. Моя главная цель - не дать клавише Enter перейти к следующему ряду в сетке. Я все еще хочу, чтобы ключ ввода подтвердил и закончил режим редактирования.

я нашелэта запись FAQ и подкласс DataGridView для переопределения ProcessDialogKey (). Если нажата клавиша Enter, я вызываю EndEdit (), в противном случае я вызываю base.ProcessDialogKey ().

Это прекрасно работает, за исключением того, что событие CellValidating не запускается.

В настоящее время я просто вручную вызываю логику проверки перед вызовом EndEdit, но мне кажется, что я что-то упустил.

Я думаю, я мог бы вызвать OnCellValidating, но тогда я бы испугался, что пропускаю какое-то другое событие. Что мне действительно нужно, так это некоторый вариант EndEdit (), который ведет себя так же, как нажатие клавиши ввода в последнем ряду сетки с добавлением отключения.

Ответы на вопрос(5)

Ваш ответ на вопрос