次の方法で共有


KeyboardShortcut コントロール

キーボード イベントをキャプチャして操作するために使用されるコントロール。

Note

説明書の全文とソース コードは、GitHub コード コンポーネント リポジトリ を参照してください。

説明設定

このコード コンポーネントは、keypress イベント ハンドラーを登録して、キャンバス アプリまたはカスタム ページ内でキーボード ショートカットを使用できるようにします。 モデル駆動型またはポータル アプリでの使用は意図されていません。

プロパティ​​

Property 説明設定
KeyConfig 監視するキーボード ショートカットを示す文字列の配列。 文字列は、JSON を使用してシリアル化する必要があります (次のセクションで示す例)。
OnKey 検出されたキーボード ショートカット。

KeyboardShortcuts コード コンポーネントをフォームに追加した後、キーの組み合わせ配列を使用して KeyConfig プロパティを構成します。

例:

["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]

キーボードの組み合わせ文字列の詳細については、KeyboardJS ライブラリに移動してください。

Behavior

Keystroke イベントへの対応

キーの組み合わせを使用する場合、OnChange イベントが発生します。 次に、OnKey プロパティは組み合わせを保持します。

次のような OnChange イベントが発生する可能性があります:

If( Self.OnKey = "alt + a",
    SetFocus(txtTextbox1)
);
If( Self.OnKey = "alt + r",
    UpdateContext({ ctxResizableTextareaEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + b",
    SetFocus(txtTextbox2)
);
If( Self.OnKey = "alt + k",
    UpdateContext({ ctxPickerEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + d",
    UpdateContext({ ctxDropdownEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + l",
    UpdateContext({ ctxTagListEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + t", 
    UpdateContext({ ctxTableEvent:"SetFocusOnRow" & Text(Rand()) })
);

このイベント ハンドラーは、使用されるキーの組み合わせを指定して、さまざまなコントロールにフォーカスを合わせます。

制限

一部のキーボード ショートカットは、アプリを編集するときに Power Apps Studio によって使用され、一部はブラウザーによって使用されます。 このため、ユーザーがアプリ内にフォーカスを置くまで、このコンポーネントはすべてのキーボード ショートカットで機能しません。

このコード コンポーネントは、キャンバス アプリとカスタム ページでのみ使用できます。

制限に関する注記の詳細については、GitHubドキュメントのセクションの コンポーネント設計の課題 をご覧ください。