DataGridViewComboBoxCell с ComboBoxStyle Простой не поймать клавишу ввода
В простом выпадающем списке, когда в качестве выпадающего списка задано значение "Простой" и пользователь вводит что-то в поле, а затем нажимает "Ввод", запускается событие KeyUp. В datagridview, когда у меня есть ComboboxColumn и стиль, установленный как Simple KeyUp, событие не запускается, а KeyPress и KeyDown. И я создал свой собственный вид сетки данных, и KeyUp в режиме редактирования тоже не запускается. И я создал свои выигранные пользовательские события DataGridViewComboBoxCell и OnKeyUp, EnterUnsharesRow, KeyDownUnsharesRow не вызываются. Когда пользователь вводит что-то в эту ячейку и нажимает Enter, этот текст очищается. Как зафиксировать введенный текст в ячейке и какое событие сработало?
Спасибо
1 ответ
Вам необходимо получить доступ к базовому элементу редактирования во время события EditingControlShowing объекта DataGridView.
void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl)
{
DataGridViewComboBoxEditingControl cb =
e.Control as DataGridViewComboBoxEditingControl;
cb.DropDownStyle = ComboBoxStyle.Simple;
cb.KeyUp += new KeyEventHandler(cb_KeyUp);
}
}