Поделиться через


Практическое руководство. Переопределение клавиши возврата смартфона

Обновлен: Ноябрь 2007

ms172543.alert_note(ru-ru,VS.90).gifПримечание.

Обратите внимание на то, что функция клавиши возврата чрезвычайно важна для переключениями между приложениями смартфона. В большинстве случаев не рекомендуется изменять режим работы клавиши возврата по умолчанию для сохранения функциональности интерфейса пользователя смартфона. Поэтому при принятии решения о переопределении данной функции следует соблюдать особую осторожность.

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

Функции клавиши возврата

Контекст

Отмена модальных диалоговых окон.

Всегда.

Отмена контекстных меню.

Всегда.

Удаление предыдущего символа.

Когда фокус находится на изменяемом элементе управления, например текстовом поле, или настраиваемом пользовательском элементе управления.

Переход к следующему окну в z-порядке.

Обратите внимание на то, что когда фокус находится на форме или пользовательском элементе управления, клавиша возврата вызывает событие KeyPress, которое можно обработать для получения необходимых функций, как показано в приведенном примере.

Если событие не обрабатывается, фокус переходит на следующее окно в z-порядке.

Когда фокус находится на форме, неизменяемом элементе управления (например переключателе) или ненастраиваемом пользовательском элементе управления.

Клавиша возврата работает одинаково независимо от наличия строки меню. Строка меню существует в том случае, если форма содержит компонент MainMenu.

Пример

В следующем примере кода показано, как реализовать пользовательскую функцию клавиши возврата. Когда клавиша возврата нажимается в форме или пользовательском элементе управления, вызывается событие KeyPress, значение KeyChar которого равно клавише ESC (27). В коде обработки события определите, относится ли вызванное значение к клавише ESC. Если это так, отмените функции по умолчанию клавиши возврата, присвоив свойству Handled значение true. Если аргументы события не обрабатываются, клавиша возврата вызывает переход на следующее окно в z-порядке.

В Visual C# необходимо определить обработчик событий KeyPress в конструкторе формы.

// Connect an event handler to the KeyPress event
this.KeyPress += new KeyPressEventHandler(OnKeyPress);
Private Sub keypressed(ByVal o As [Object], _
    ByVal e As KeyPressEventArgs) Handles MyBase.KeyPress
    ' Determine if ESC key value is raised.
    If e.KeyChar = ChrW(Keys.Escape) Then
        ' Handle the event to provide your own functionality.
        e.Handled = True

        ' Add  your event handling code here.
        MessageBox.Show("Custom back key functionality.")
    End If
End Sub
private void OnKeyPress(object sender, KeyPressEventArgs ke)
{
    // Determine if ESC key value is pressed.
    if (ke.KeyChar == (Char)Keys.Escape)
    {
        // Handle the event to provide functionality.
        ke.Handled = true;

        // Add your event handling code here.
        MessageBox.Show("Back key was pressed.");
    }
}

Компиляция кода

Для этого примера требуются ссылки на следующие пространства имен:

См. также

Задачи

Практическое руководство. Перегрузка программируемых клавиш смартфона

Другие ресурсы

Разработка приложений для смартфонов и платформа .NET Compact Framework