DataGridViewComboBoxCell с ComboBoxStyle Простой не поймать клавишу ввода - PullRequest
1 голос
/ 18 декабря 2011

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

Спасибо

1 Ответ

2 голосов
/ 18 декабря 2011

Вам необходимо получить доступ к базовому элементу редактирования во время события 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...