Событие Клавиша Вниз Элемента Управления Datagridview
Привет,
Я использую элемент управления dataGridView. Обычно при нажатии клавиши Enter в ячейке она фокусируется на ячейке в следующей строке, я хочу установить фокус на следующем столбце. Я достиг этого, используя приведенный ниже код.
private void dicadmasDataGridView_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode == Keys.Return) { if (dicadmasDataGridView.CurrentCell.ColumnIndex == dicadmasDataGridView.ColumnCount - 1) dicadmasDataGridView.CurrentCell = dicadmasDataGridView[0, dicadmasDataGridView.CurrentCell.RowIndex + 1]; else dicadmasDataGridView.CurrentCell = dicadmasDataGridView[dicadmasDataGridView.CurrentCell.ColumnIndex + 1, dicadmasDataGridView.CurrentCell.RowIndex]; e.SuppressKeyPress = true; } }
Моя проблема заключается в том, что если я редактирую что-то в определенной ячейке и нажимаю enter, то оно переходит к следующей строке. Я хочу применить то же самое поведение к ячейке и при редактировании.
Спасибо и с уважением
Таир
Sergey Alexandrovich Kryukov
Система.Окна.Формы? Пометьте его: "формы".
--СА
Sergey Alexandrovich Kryukov
Не совсем понятно, чего именно вы хотите, "во время редактирования" или чего-то еще.
--СА
Thahir Pattanathel
После нажатия клавиши "Enter" курсор должен сфокусироваться на следующем столбце. но теперь он переходит к следующему ряду.
Sergey Alexandrovich Kryukov
Ну, это поведение по умолчанию, насколько я могу судить. Вы пытаетесь изменить его. Откуда вы знаете, что ваш обработчик (показанный выше) даже вызван? Вы запустили его под отладчиком? Я не вижу вашего оператора "+ = " (добавление обработчика в список вызовов события). Кроме того, вам может потребоваться обработать PreviewKeyDown вместо этого.
--СА
yogesh vaidya
нужна помощь по тому же вопросу для visual basic 2013/2014