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);
    }
}
Другие вопросы по тегам