This documentation is archived and is not being maintained.

HardwareButton.HardwareKey Property

Gets or sets one of the HardwareKeys values to be associated with a HardwareButton on a Pocket PC.

Namespace:  Microsoft.WindowsCE.Forms
Assembly:  Microsoft.WindowsCE.Forms (in Microsoft.WindowsCE.Forms.dll)

public HardwareKeys HardwareKey { get; set; }

You must also set the AssociatedControl property to the form or control you want to activate with the hardware button.

The following code example shows how to associate two hardware buttons to activate the current form. This code example is part of a larger example provided for the HardwareButton class.

// Configure hardware buttons 
// 1 and 4 to activate the current form. 
private void HBConfig()
            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.";

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


Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Compact Framework

Supported in: 3.5, 2.0