HardwareButton イベント
HardwareButton クラス
アセンブリ: Microsoft.WindowsCE.Forms (microsoft.windowsce.forms.dll 内)


以下を実行することによって、アプリケーションで Form、Panel、またはカスタム コントロールをアクティブにするように、Pocket PC のボタンを設定できます。
ハードウェア ボタンをコントロールに関連付けると、そのコントロールは、ボタンが押されたときには KeyDown イベントを受け取り、ボタンが離されたときには KeyUp イベントを受け取ります。
ハードウェア ボタンを元の状態に戻すには、AssociatedControl プロパティを null 参照 (Visual Basic では Nothing) に設定します。
Pocket PC の中には、ハードウェア ボタンの数が 6 個ではないものもあります。また、オペレーティング システムによってすべてのボタンがサポートされているわけではありません。Windows Mobile 2003 for Pocket PC では 4 個のボタンが、Windows Mobile Version 5.0 software for Pocket PC では 5 個のボタンがサポートされています。
このクラスは、Smartphone および Pocket PC 以外の Windows CE デバイスではサポートされていません。

Pocket PC の 1 つ目と 4 つ目のハードウェア ボタンを使用して、フォームをアクティブにする方法を次のコード例に示します。
Imports System Imports System.Windows.Forms Imports Microsoft.WindowsCE.Forms Public Class Form1 Inherits System.Windows.Forms.Form Private statusBar1 As StatusBar Private hwb1 As HardwareButton Private hwb4 As HardwareButton Public Sub New() InitializeComponent() ' Display OK button to close the application. Me.ControlBox = True Me.MinimizeBox = False ConfigHWButton() End Sub Protected Overrides Sub Dispose(disposing As Boolean) MyBase.Dispose(disposing) End Sub Private Sub InitializeComponent() Me.statusBar1 = New System.Windows.Forms.StatusBar() Me.hwb1 = New Microsoft.WindowsCE.Forms.HardwareButton Me.hwb4 = New Microsoft.WindowsCE.Forms.HardwareButton Me.SuspendLayout() ' ' statusBar1 ' Me.statusBar1.Location = New System.Drawing.Point(0, 246) Me.statusBar1.Name = "statusBar1" Me.statusBar1.Size = New System.Drawing.Size(240, 22) ' ' Form1 ' Me.ClientSize = New System.Drawing.Size(240, 268) Me.Controls.Add(statusBar1) Me.Name = "Form1" Me.Text = "HW Button Test" Me.ResumeLayout(False) statusBar1.Text = "From another app, press button 1 or 4." End Sub Shared Sub Main() Application.Run(New Form1()) End Sub 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 MsgBox(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 End Class
using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using Microsoft.WindowsCE.Forms; namespace HardwareButtonTest { public class Form1 : System.Windows.Forms.Form { private StatusBar statusBar1; private HardwareButton hwb1, hwb4; public Form1() { InitializeComponent(); // Display OK button to close the application. this.ControlBox = true; this.MinimizeBox = false; // Create event-handler delegate for the KeyUp // event for this form. This form is associated // with each of the hardware buttons, and the // event occurs when a hardware button is pressed. // Note that you could also use the KeyDown event // instead of the KeyUp event. this.KeyPreview = true; this.KeyUp += new KeyEventHandler(this.OnKeyUp); // Call the method to configure // the hardware button. HBConfig(); } protected override void Dispose(bool disposing) { base.Dispose(disposing); } private void InitializeComponent() { this.statusBar1 = new System.Windows.Forms.StatusBar(); this.SuspendLayout(); // // statusBar1 // this.statusBar1.Location = new System.Drawing.Point(0, 246); this.statusBar1.Name = "statusBar1"; this.statusBar1.Size = new System.Drawing.Size(240, 22); // // Form1 // this.ClientSize = new System.Drawing.Size(240, 268); this.Controls.Add(this.statusBar1); this.Name = "Form1"; this.Text = "HW Button Test"; this.ResumeLayout(false); statusBar1.Text = "Press hardware button 1 or 4."; } static void Main() { Application.Run(new Form1()); } // 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; } } } }

System.MarshalByRefObject
System.ComponentModel.Component
Microsoft.WindowsCE.Forms.HardwareButton




HardwareButton コンストラクタ
アセンブリ: Microsoft.WindowsCE.Forms (microsoft.windowsce.forms.dll 内)



このクラスは、Smartphone または Pocket PC 以外の Windows CE デバイスでは使用できません。




HardwareButton プロパティ
HardwareButton メソッド

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 Component によって使用されているリソースを解放します。 ( Component から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 Component によって使用されているリソースを解放します。 ( Component から継承されます。) |
![]() | Finalize | Component がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 ( Component から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

HardwareButton メンバ
Pocket PC のハードウェア ボタンの機能をオーバーライドできるようにします。
HardwareButton データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 Component によって使用されているリソースを解放します。 (Component から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 Component によって使用されているリソースを解放します。 (Component から継承されます。) |
![]() | Finalize | Component がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 (Component から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |


- HardwareButtonのページへのリンク