DataGridViewComboBoxCell с ComboBoxStyle Простой, не ловите клавишу Enter

В обычном поле со списком, когда стиль со списком установлен как простой, и пользователь что-то вводит в поле, а затем запускается событие Enter KeyUp. В datagridview, когда у меня есть ComboboxColumn и стиль, установленный как событие Simple KeyUp, не запускается, а KeyPress и KeyDown. И я создал свой собственный datagridview, и KeyUp в режиме редактирования тоже не срабатывает. И я создал свои выигранные пользовательские события DataGridViewComboBoxCell и OnKeyUp, EnterUnsharesRow, KeyDownUnsharesRow, которые не вызываются. Когда пользователь набирает что-то в этом поле со списком и нажимает Enter, этот текст очищается. Как зафиксировать введенный текст в ячейке и какое событие срабатывает?

Спасибо


person Robert    schedule 17.12.2011    source источник


Ответы (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);
    }
}
person David Hall    schedule 18.12.2011