FunctionKeyDownイベント
FunctionKeyDownイベントは、ファンクションキーボタンをキーボード上で押下したとき、または対応するボタンをマウスでクリックしたときに発生します。 FunctionKeyDown イベントに任意のコードを記述することで、ファンクションキー操作時に目的の動作を実現することができます。
次のサンプルコードでは、[F2]キーでフォーム上のコントロールをクリアする動作をファンクションキーボタンに追加する方法を示します。
さらに、InteractiveMouse プロパティを False に設定すると、マウスによるボタンクリックを禁止し、キーボード操作のみを対象にできます。KeyRepeat プロパティは、キーを押し続けている間、FunctionKeyDown イベントを繰り返し発生させるかどうかを指定します。
次のサンプルコードでは、[F2]キーでフォーム上のコントロールをクリアする動作をファンクションキーボタンに追加する方法を示します。
Imports GrapeCity.Win.Bars Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' FunctionKeyButtonオブジェクトを作成します。 Dim FunctionKeyButton1 As New FunctionKeyButton FunctionKeyButton1.FunctionKey = Keys.F2 FunctionKeyButton1.Text = "全てクリア" ' FunctionKeyButtonオブジェクトをGcFunctionKey コントロールに追加します。 GcFunctionKey1.FunctionKeyButtons.Add(FunctionKeyButton1) End Sub Private Sub GcFunctionKey1_FunctionKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles GcFunctionKey1.FunctionKeyDown ' [F2]キーが押されたときの動作を実装します。 If e.KeyCode = Keys.F2 Then TextBox1.Clear() NumericUpDown1.Value = 0 End If End Sub
using GrapeCity.Win.Bars; private void Form1_Load(object sender, EventArgs e) { // FunctionKeyButtonオブジェクトを作成します。 FunctionKeyButton functionKeyButton1 = new FunctionKeyButton(); functionKeyButton1.FunctionKey = Keys.F2; functionKeyButton1.Text = "全てクリア"; // FunctionKeyButtonオブジェクトをGcFunctionKey コントロールに追加します。 gcFunctionKey1.FunctionKeyButtons.Add(functionKeyButton1); } private void GcFunctionKey1_FunctionKeyDown(object sender, KeyEventArgs e) { // [F2]キーが押されたときの動作を実装します。 if (e.KeyCode == Keys.F2) { textBox1.Clear(); numericUpDown1.Value = 0; } }
さらに、InteractiveMouse プロパティを False に設定すると、マウスによるボタンクリックを禁止し、キーボード操作のみを対象にできます。KeyRepeat プロパティは、キーを押し続けている間、FunctionKeyDown イベントを繰り返し発生させるかどうかを指定します。
ButtonClickイベント
GcFunctionKey コントロールにはFunctionKeyDown イベントのほか、ButtonClickイベントが搭載されており、イベント内で押下されたファンクションキーのキーコードやNameプロパティを取得することができます。
次のサンプルコードではButtonClickイベントでイベントパラメータからキーコードおよびファンクションキーのNameプロパティを取得する方法を示します。
次のサンプルコードではButtonClickイベントでイベントパラメータからキーコードおよびファンクションキーのNameプロパティを取得する方法を示します。
Private Sub GcFunctionKey1_ButtonClick(sender As Object, e As GrapeCity.Win.Bars.FunctionKeyButtonEventArgs) Handles GcFunctionKey1.ButtonClick ' イベントパラメータから押下されたキーを取得します。 If e.Button.FunctionKey = Keys.F1 Then Console.WriteLine(e.Button.Name) End If ' イベントパラメータから押下されたキーのNameプロパティを取得します。 If String.CompareOrdinal(e.Button.Name, "FunctionKeyButton2") = 0 Then Console.WriteLine(e.Button.Name) End If End Sub
private void gcFunctionKey1_ButtonClick(object sender, GrapeCity.Win.Bars.FunctionKeyButtonEventArgs e) { // イベントパラメータから押下されたキーを取得します。 if (e.Button.FunctionKey == Keys.F1) { Console.WriteLine(e.Button.Name); } // イベントパラメータから押下されたキーのNameプロパティを取得します。 if (e.Button.Name == "functionKeyButton2") { Console.WriteLine(e.Button.Name); } }
2重クリックの防止
GcFunctionKeyコントロールは、GcButton コントロールと同様にコントロールの2重クリック防止機能を搭載しています。
これらの詳細については、GcButton コントロールの「2重クリックの防止」を参照してください。
これらの詳細については、GcButton コントロールの「2重クリックの防止」を参照してください。