Событие DataGridView KeyDown не работает - PullRequest
2 голосов
/ 27 января 2012

У меня есть DataGridView с событием KeyDown.

void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.C && e.Modifiers == (Keys.Control | Keys.Shift)) 
    {     
        MessageBox.Show("ok"); // to test if working
    }
}

Окно сообщения запрашивает, когда я нажимаю комбинации клавиш.
Но это только тогда, когда представление данных пустое (без строк данных),Код не работает, когда в сетке данных уже есть строки.

Что-то не так с кодами?

Ответы [ 3 ]

2 голосов
/ 27 января 2012

Обработчик события KeyDown не срабатывает, когда DataGridView находится в режиме редактирования.

0 голосов
/ 27 января 2012

Я полагаю, что вам придется наследовать класс DataGridView , чтобы получить необходимую обработку ключа. Другой альтернативой было бы добавить фильтр сообщений , но я бы использовал исходную сетку данных в качестве первого подхода.

0 голосов
/ 27 января 2012

В datagridview есть дочерние элементы управления со своими собственными событиями. Я думаю, что вам нужно перехватывать строки и / или события нажатия клавиш ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...