Thahir Pattanathel Ответов: 0

Событие Клавиша Вниз Элемента Управления 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

0 Ответов