Delen via


KeyboardShortcut controle

Een besturingselement dat wordt gebruikt om toetsenbordgebeurtenissen vast te leggen en erop te reageren.

Notitie

Volledige documentatie en broncode vindt u in de GitHub-opslagplaats voor codeonderdelen.

Omschrijving

Dit codeonderdeel registreert gebeurtenishandlers voor toetsaanslagen zodat sneltoetsen binnen canvas-apps of aangepaste pagina's kunnen worden gebruikt. Het is niet bedoeld voor gebruik in modelgestuurde of portal-apps.

Eigenschappen

Eigenschappen Omschrijving
KeyConfig Een matrix van tekenreeksen die aangeeft naar welke sneltoetsen moet worden geluisterd. De tekenreeks moet worden geserialiseerd met behulp van JSON (voorbeeld gegeven in de volgende sectie).
OnKey De sneltoets die is gedetecteerd.

Configureer, nadat u het codeonderdeel KeyboardShortcuts aan het formulier hebt toegevoegd, de eigenschap KeyConfig met een matrix van toetscombinaties.

Bijvoorbeeld:

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

Ga naar de KeyboardJS-bibliotheek voor meer informatie over de tekenreeksen voor toetsenbordcombinaties.

Gedrag

Reageren op de toetsaanslaggebeurtenissen

Wanneer een toetsencombinatie wordt gebruikt, wordt de gebeurtenis OnChange geactiveerd. De eigenschap OnKey bevat dan de combinatie.

Mogelijk is er een gebeurtenis OnChange die vergelijkbaar is met:

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()) })
);

Deze gebeurtenishandler stelt de focus in op verschillende besturingselementen, op basis van de gebruikte toetsencombinatie.

Beperkingen

Sommige sneltoetsen worden gebruikt door Power Apps Studio tijdens het bewerken van de app, en sommige worden gebruikt door de browser. Om deze reden werkt dit onderdeel niet voor alle sneltoetsen totdat de gebruiker de focus in de app plaatst.

Dit codeonderdeel kan alleen worden gebruikt in canvas-apps en aangepaste pagina's.

Zie meer beperkingsopmerkingen in het gedeelte Ontwerpuitdagingen voor onderdelen van de GitHub-documentatie.