Как управлять движением курсора datagridview в C # - PullRequest
5 голосов
/ 02 декабря 2008

Мне бы хотелось, чтобы мой курсор просмотра данных перемещался вправо к следующему столбцу, а не к следующей строке после ввода данных в ячейку.

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

Заранее спасибо за вашу помощь.

Ура,

1 Ответ

6 голосов
/ 02 декабря 2008

Вот ответ от Mark Rideout (менеджер программ DatagridView)

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=157055&SiteID=1

Прокрутите вниз 4 сообщения (а затем больше, потому что они делают лучшие версии позже в ветке).

Для будущих ссылок, если срок действия ссылки истечет ( Все кредиты для Mark Rideout ):

Создайте новый класс с именем dvg, который наследуется от DataGridView. Скомпилируйте проект и затем используйте этот расширенный элемент управления Datagridview вместо обычного, и у вас будет представление данных, которое выбирает следующую ячейку при нажатии enter:

public class dgv : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
    Keys key = (keyData & Keys.KeyCode);
    if (key == Keys.Enter)
    {
        return this.ProcessRightKey(keyData);
    }
    return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        return this.ProcessRightKey(e.KeyData);
    }
    return base.ProcessDataGridViewKey(e);
}

}

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