Переместитесь в предыдущее текстовое поле от тока путем нажатия клавиши Backspace

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

например.

textbox1

textbox2

textbox3

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

как я делаю? предложите надлежащий код для того же.

0
задан abatishchev 5 August 2010 в 06:16
поделиться

4 ответа

Основываясь на решении Giorgi:

foreach(var tbox in new[]
     {
         tbox0, tbox1, tbox2
     })
{
    tbox.KeyPress += (sender,e) => keypressed(sender,e);
}

private void keypressed(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Back)
        ((Control)sender).GetNextControl((Control)sender, false).Select(); // .Focus()
}
2
ответ дан 4 September 2019 в 00:46
поделиться

Будьте осторожны, это не вызовет проблем с удобством использования, например, использование BACKSPACE для стирания последней буквы, также приведет к переходу к предыдущему элементу управления, что расстроит любого пользователя!

Элементы управления переходом только в том случае, если текущий управляющий текст пуст и пользователь нажал клавишу возврата:

    private void textBox1_KeyUp(object sender, KeyEventArgs e)
    {
        if ((e.KeyCode == Keys.Back) & (((Control)sender).Text.Length == 0))
        {
            this.SelectNextControl((Control)sender, false, true, true, true);
        }
    }
2
ответ дан 4 September 2019 в 00:46
поделиться

Если порядок табуляции установлен правильно, вы можете использовать метод GetNextControl для перехода к предыдущему элементу управления.

1
ответ дан 4 September 2019 в 00:46
поделиться

Backspace - важный ключ редактирования для пользователя, не делайте этого. Я с этим не связываюсь. Нажмите Tab, чтобы двигаться вперед, Shift + Tab, чтобы переместиться назад. Ваш пользователь, вероятно, уже знает этот ярлык.

1
ответ дан 4 September 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: