private void textBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter) {
//TODO: какието действия по смене фокуса и т.п.
e.SuppressKeyPress = true;
}
}
Порядок обрботки ячеек в DataGridView
После ввода данных в ячейку dataGridView, текущей становится ячейка на следующей строке, а надо вводить в следующий столбец. Как сделать ?
Не после ввода, а после нажатия Enter. После нажатия Tab, переход осуществляется на следующий столбец.
Табуляция используется для навигации между таблицами (StandardTab=true), поэтому при нажатии TAB текущей становится другая таблица.
Цитата: Rema
Табуляция используется для навигации между таблицами (StandardTab=true), поэтому при нажатии TAB текущей становится другая таблица.
Обрабатывайте нажатие клавиши (событие KeyDown) Enter с указанием флага SuppressKeyPress.
Например для текстбокса код будет таким:
Код:
Цитата: hardcase
Обрабатывайте нажатие клавиши (событие KeyDown) Enter с указанием флага SuppressKeyPress.
Не обязательно.
В MSDN есть статья, которая называется DataGridView Overview и там есть ссылка на статью вроде Default Keys, точно не помню. Так вот, там расписаны все сочетания клавиш в зависимости от свойства StandartTab. По-моему на следующую колонку в таком случае переводит Ctrl + Tab, а на предыдущую Ctrl + Shift + Tab.
Невозможно приучить всех пользователей завершать редактирование нажатием Ctrl+Tab. Они привыкли давить на Enter.
Цитата: Rema
Невозможно приучить всех пользователей завершать редактирование нажатием Ctrl+Tab. Они привыкли давить на Enter.
Тогда действительно прийдется обрабатывать KeyDown [POST=240261]Здесь[/POST]