作成日: 2024/01/19 最終更新日: 2024/01/31
文書種別
使用方法
詳細
この現象はGcClassicFunctionKeyおよびGcFunctionKeyコントロール(以下、ファンクションキーコントロール)の仕様に基づく動作です。下記の条件を満たした場合に発生します。
・ShowDialogで複数のフォームを表示している
・タスクバーで非アクティブなフォームを選択している
ファンクションキーコントロールをマウスで操作した場合、FunctionKeyPress(GcClassicFunctionKey)またはFunctionKeyDown(GcFunctionKey)イベントは操作を行ったコントロールでのみ発生します。これに対してキーボードのファンクションキー入力で操作した場合はアプリケーションに含まれるすべてのコントロールで同イベントが発生します。
アクティブなフォームに配置されたファンクションキーコントロールでのみイベントを処理するには、イベントハンドラを次の例のように記述します。
以下のサンプルコードは、GcClassicFunctionKeyのFunctionKeyPressイベントを例にしていますが、GcFunctionKeyの場合は、FunctionKeyDownイベントを使用してください。
・ShowDialogで複数のフォームを表示している
・タスクバーで非アクティブなフォームを選択している
ファンクションキーコントロールをマウスで操作した場合、FunctionKeyPress(GcClassicFunctionKey)またはFunctionKeyDown(GcFunctionKey)イベントは操作を行ったコントロールでのみ発生します。これに対してキーボードのファンクションキー入力で操作した場合はアプリケーションに含まれるすべてのコントロールで同イベントが発生します。
アクティブなフォームに配置されたファンクションキーコントロールでのみイベントを処理するには、イベントハンドラを次の例のように記述します。
以下のサンプルコードは、GcClassicFunctionKeyのFunctionKeyPressイベントを例にしていますが、GcFunctionKeyの場合は、FunctionKeyDownイベントを使用してください。
[VB]
Private Sub GcClassicFunctionKey1_FunctionKeyPress(ByVal sender As System.Object, ByVal e As GrapeCity.Win.Bars.FunctionKeyPressEventArgs) Handles GcClassicFunctionKey1.FunctionKeyPress
If Me Is Form.ActiveForm
'ファンクションキー押下処理を記述します。
'イベント処理の完了を設定します。
e.Handled = True
End If
End Sub
Private Sub GcClassicFunctionKey1_FunctionKeyPress(ByVal sender As System.Object, ByVal e As GrapeCity.Win.Bars.FunctionKeyPressEventArgs) Handles GcClassicFunctionKey1.FunctionKeyPress
If Me Is Form.ActiveForm
'ファンクションキー押下処理を記述します。
'イベント処理の完了を設定します。
e.Handled = True
End If
End Sub
[C#]
private void gcClassicFunctionKey1_FunctionKeyPress(object sender, GrapeCity.Win.Bars.FunctionKeyPressEventArgs e)
{
if( this == Form.ActiveForm )
{
//ファンクションキー押下処理を記述します。
//イベント処理の完了を設定します。
e.Handled = true;
}
}
private void gcClassicFunctionKey1_FunctionKeyPress(object sender, GrapeCity.Win.Bars.FunctionKeyPressEventArgs e)
{
if( this == Form.ActiveForm )
{
//ファンクションキー押下処理を記述します。
//イベント処理の完了を設定します。
e.Handled = true;
}
}