Gewusst wie: Verwenden der HardwareButton-Komponente

Aktualisiert: November 2007

Sie können die Tasten auf einem Pocket PC für die Aktivierung eines Form konfigurieren. In diesem Beispiel wird eine Anwendung mit der ersten und der vierten Taste aktiviert. Zusätzlich wird in der Statusleiste die gedrückte Taste angegeben.

So konfigurieren Sie eine Taste für die Aktivierung eines Formulars

  1. Erstellen Sie eine Pocket PC-Windows-Anwendung.

  2. Erstellen Sie eine Instanz einer HardwareButton.

  3. Legen Sie die AssociatedControl-Eigenschaft für das Formular fest.

  4. Legen Sie die HardwareKey-Eigenschaft für einen von der HardwareKeys-Enumeration definierten Anwendungsschlüssel fest.

  5. Wiederholen Sie gegebenenfalls die Schritte 2 bis 4 für weitere Tasten.

  6. Wird eine Taste gedrückt und anschließend losgelassen, werden dem Formular die Ereignisse KeyDown und KeyUp hinzugefügt. Mithilfe eines der beiden Ereignisse können Sie ermitteln, ob eine Taste gedrückt wurde.

Beispiel

In diesem Beispiel werden die erste und die vierte Taste für die Aktivierung des Formulars konfiguriert. Gehen Sie wie folgt vor, um dies zu veranschaulichen:

  1. Führen Sie die Anwendung aus.

  2. Öffnen Sie auf dem Gerät eine andere Anwendung.

  3. Drücken Sie Taste 1 oder 4, um das Formular dieser Anwendung zu aktivieren. In der Statusleiste wird angegeben, welche Taste gedrückt wurde.

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;
    }
}

Kompilieren des Codes

Für dieses Beispiel sind Verweise auf die folgenden Namespaces erforderlich:

Siehe auch

Referenz

HardwareButton

Weitere Ressourcen

Pocket PC-Entwicklung und .NET Compact Framework