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


Пошаговое руководство. Использование компонента HardwareButton

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

Можно сконфигурировать кнопки на карманном ПК для активации Form. В этом примере приложение активируется при помощи первой и четвертой кнопок, и в строке состояния указывается, какая кнопка была нажата.

Для установки кнопки, активирующей форму

  1. Создайте приложение для карманного ПК под Windows.

  2. Создайте экземпляр класса HardwareButton.

  3. Укажите в свойстве AssociatedControl форму.

  4. Установите свойство HardwareKey, чтобы клавиша запуска приложения определялась перечислением HardwareKeys.

  5. Повторите этапы с 3 по 4 для всех дополнительных кнопок, которые вы хотите использовать.

  6. Когда кнопка нажата и отпущена, форма получает события KeyDown и KeyUp. Можно использовать любое из этих событий, чтобы определить, была ли нажата кнопка.

Пример

В следующем примере устанавливаются первая и четвертая кнопки для активации формы. Для демонстрации выполните описанные ниже действия.

  1. Запустите приложение.

  2. Откройте другое приложение на устройстве.

  3. Нажмите кнопку 1 или 4, чтобы активировать форму приложения. Строка состояния покажет, какая кнопка была нажата.

Private Sub ConfigHWButton()
    ' Set KeyPreview to true so that the form 
    ' will receive key events before they 
    ' are passed to the control that has focus. 

    Me.KeyPreview = True

    hwb1 = New HardwareButton()
    hwb4 = New HardwareButton()

    ' Set the AssociatedControl property
    ' to the current form and configure the
    ' first and fourth buttons to activate the form.
    Try
        hwb1.AssociatedControl = Me
        hwb4.AssociatedControl = Me
        hwb1.HardwareKey = HardwareKeys.ApplicationKey1
        hwb4.HardwareKey = HardwareKeys.ApplicationKey4
    Catch exc As Exception
        MessageBox.Show(exc.Message & " Check if the hardware button is " & _
            "physically available on this device.")
    End Try
End Sub

Private Overloads Sub OnKeyUp(sender As Object, e As KeyEventArgs) _
    Handles MyBase.KeyUp
    ' When a hardware button is pressed and released,
    ' this form receives the KeyUp event. The OnKeyUp
    ' method is used to determine which hardware
    ' button was pressed, because the event data
    ' specifies a member of the HardwareKeys enumeration.
    Select Case CType(e.KeyCode, HardwareKeys)
        Case HardwareKeys.ApplicationKey1
            statusBar1.Text = "Button 1 pressed."

        Case HardwareKeys.ApplicationKey4
            statusBar1.Text = "Button 4 pressed."

        Case Else
    End Select
End Sub
// Configure hardware buttons
// 1 and 4 to activate the current form.
private void HBConfig()
    {
        try 
        {
            hwb1 = new HardwareButton();
            hwb4 = new HardwareButton();
            hwb1.AssociatedControl = this;
            hwb4.AssociatedControl = this;
            hwb1.HardwareKey = HardwareKeys.ApplicationKey1;
            hwb4.HardwareKey = HardwareKeys.ApplicationKey4;
        }
        catch (Exception exc)
        {
            MessageBox.Show(exc.Message + " Check if the hardware " +
                "button is physically available on this device.");
        }
}

// When a hardware button is pressed and released,
// this form receives the KeyUp event. The OnKeyUp
// method is used to determine which hardware
// button was pressed, because the event data
// specifies a member of the HardwareKeys enumeration.
private void OnKeyUp(object sender, KeyEventArgs e)
{
    switch ((HardwareKeys)e.KeyCode)
    {
        case HardwareKeys.ApplicationKey1:
            statusBar1.Text = "Button 1 pressed.";
            break;

        case HardwareKeys.ApplicationKey4:
            statusBar1.Text = "Button 4 pressed.";
            break;

        default:
            break;
    }
}

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

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

См. также

Ссылки

HardwareButton

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

Разработка карманного ПК и .NET Compact Framework