Funkcia SetFocus

Vzťahuje sa na: Aplikácie plátna Modelom riadené aplikácie

Presunie vstupné zameranie na konkrétny ovládací prvok.

Description

Funkcia SetFocus prispôsobí vstupnému zameraniu kontrolu. Ovládacie prvky stlačené klávesom používateľa sú potom dané týmto ovládacím prvkom, čo im umožňuje zadať text do ovládacieho prvku na zadávanie textu alebo použiť kláves Enter na stlačenie tlačidla. Používateľ môže tiež použiť kláves Tab, dotyk, myš alebo iné gesto, aby sami presunuli vstupné zameranie. Správanie klávesov Tab sa riadi vlastnosťou TabIndex.

Ak chcete nastaviť zameranie SetFocus , použite funkciu ( každý z nich pomocou nižšie uvedeného príkladu):

  • novo odkryté alebo aktivované ovládanie vstupu, ktoré používateľa vedie v tom, čo bude ďalej, a na rýchlejšie zadávanie údajov.
  • formulár je overený, aby zaostril a zobrazil problematické ovládanie vstupu pre rýchle rozlíšenie.
  • zobrazí sa obrazovka na zaostrenie prvého ovládacieho prvku vstupu pomocou vlastnosti OnVisibleObrazovky.

Ovládanie so zameraním môže byť vizuálne odlišné na základe FocusedBorderColor a FocusedBorderThickness vlastností.

Obmedzenia

SetFocus možno použiť iba s:

Nemôžete nastaviť zameranie na ovládacie prvky, ktoré sú v rámci Galéria ovládania, Upraviť formulár ovládania alebo Komponent. SetFocus možno použiť s ovládacím prvkom na posúvateľnej obrazovke,

Nemôžete nastaviť zameranie na ovládacie prvky, ktoré sú v rámci ovládacieho prvku kontajnera.

Zameranie môžete nastaviť len na ovládacie prvky na tej istej obrazovke ako vzorec obsahujúci SetFocus volanie.

Pokus o nastavenie zamerania na ovládací prvok, ktorý má svoju vlastnosť DisplayMode nastavenú na Zakázané, nemá žiadny účinok. Zameranie zostane tam, kde to bolo predtým.

V systéme Apple iOS sa mäkká klávesnica zobrazí automaticky iba vtedy, ak SetFocus bola spustená priamou akciou používateľa. Napríklad vyvolanie z vlastnosti tlačidla OnSelect zobrazí softvérovú klávesnicu, no pri vyvolaní z obrazovky OnVisible nie.

Môžete ich použiť SetFocus iba vo vzorcoch správania.

Syntax

SetFocus( Ovládací prvok )

  • Ovládanie – povinné. Ovládací prvok na zameranie vstupu.

Príklady

Zamerajte sa na novo exponované alebo aktivované ovládanie vstupu

Mnoho nákupných vozíkov umožňuje zákazníkovi použiť dodaciu adresu ako fakturačnú adresu, čo zmierňuje potrebu zadávať rovnaké informácie dvakrát. Ak si želáte inú fakturačnú adresu, povolia sa textové vstupné polia fakturačnej adresy a je užitočné viesť zákazníka k týmto novo povoleným ovládacím prvkom na rýchlejšie zadávanie údajov.

Animácia výberu použitia vlastnej fakturačnej adresy, v dôsledku čoho sa presunie zameranie na ovládací prvok vstupu Fakturačný názov a vypne sa automatická synchronizácia s dodacími adresami.

V hre je veľa vzorcov, ale ten, ktorý pohne zaostrením, je vo vlastnosti OnUncheck ovládacieho prvku Začiarknite políčko:

SetFocus( BillingName )

Kláves Tab môžete tiež použiť na rýchle presunutie zaostrenia z jedného poľa do druhého. Pre lepšiu ilustráciu sa kláves Tab v animácii nepoužíval.

Vytvorenie tohto príkladu:

  1. Vytvorenie novej aplikácie.
  2. Pridajte ovládacie prvky Označenie s textom "Dodacia adresa", "Názov", "Adresa", "Fakturačná adresa", "Meno" a "Adresa" a umiestnite ich podľa animácie.
  3. Pridajte ovládací prvok Textový vstup a premenujte ho ShippingName.
  4. Pridajte ovládací prvok Textový vstup a premenujte ho ShippingAddress.
  5. Pridajte ovládací prvok Začiarknite políčko a premenovať ho SyncAddresses.
  6. Nastavte vlastnosť Text tohto ovládacieho prvku na vzorec "Use Shipping address as Billing address"
  7. Pridajte ovládací prvok Textový vstup a premenujte ho BillingName.
  8. Nastavte vlastnosť Default tohto ovládacieho prvku na vzorec ShippingName
  9. Nastavte vlastnosť DisplayMode tohto ovládacieho prvku na vzorec If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ) To automaticky povolí alebo zakáže tento ovládací prvok na základe stavu začiarkavacieho políčka ovládacieho prvku.
  10. Pridajte ovládací prvok Textový vstup a premenujte ho BillingAddress.
  11. Nastavte vlastnosť Default tohto ovládacieho prvku na vzorec ShippingAddress
  12. Nastavte vlastnosť DisplayMode tohto ovládacieho prvku na vzorec If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ) To automaticky povolí alebo zakáže tento ovládací prvok na základe stavu začiarkavacieho políčka ovládacieho prvku.
  13. Nastavte vlastnosť Default začiarkavacieho políčka prvku na vzorec true Týmto nastavíte fakturačnú adresu tak, aby používala rovnakú hodnotu ako dodacia adresa.
  14. Nastavte vlastnosť OnCheck začiarkavacieho políčka prvku na vzorec Reset( BillingName ); Reset( BillingAddress ) Ak sa používateľ rozhodne synchronizovať dodacie a fakturačné adresy, zruší sa tým akýkoľvek vstup používateľa do polí Fakturačná adresa, ktoré umožňujú vlastnosti Predvolené na každom a ťahanie hodnoty z príslušných polí pre dodaciu adresu.
  15. Nastavte vlastnosť OnUncheck začiarkavacieho políčka prvku na vzorec SetFocus( BillingName ) Ak sa používateľ rozhodne mať inú fakturačnú adresu, presunie sa zameranie na prvý ovládací prvok vo fakturačnej adrese. Tieto ovládacie prvky už boli povolené kvôli ich vlastnostiam DisplayMode.

Zamerajte sa na otázky validácie

Poznámka

Hoci sa zdá, že tento príklad je ovládacím prvkom Formulár na úpravy , tento ovládací prvok ho SetFocus žiaľ zatiaľ nepodporuje. Tento príklad namiesto toho používa posúvaciu obrazovku na hosťovanie ovládacích prvkov vstupu.

Pri overovaní formulára môže byť užitočné nielen zobraziť správu, ak sa vyskytne problém, ale aj priviesť používateľa do oblasti, ktorá porušuje pravidlá. Obzvlášť užitočné môže byť, ak sa dané pole posúva mimo obrazovku a nie je viditeľné.

Animácia overenia platnosti formulára na zadávanie údajov, ktorá má nielen zobrazenú správu, ale tiež nastavuje zameranie vstupu na protiprávnu kontrolu vstupu, aj keď je posunutá mimo obrazovku.

V tejto animácii sa opakovane stlačí overovacie tlačidlo, až kým nebudú všetky polia správne vyplnené. Upozorňujeme, že ukazovateľ myši sa neposúva nadol z hornej časti obrazovky. SetFocus Namiesto toho funkcia presunula vstupné zameranie do ovládacieho prvku, ktorý si vyžaduje pozornosť tohto vzorca:

If( IsBlank( Name ),
        Notify( "Name requires a value", Error ); SetFocus( Name ),
    IsBlank( Street1 ),
        Notify( "Street Address 1 requires a value", Error ); SetFocus( Street1 ),
    IsBlank( Street2 ),
        Notify( "Street Address 2 requires a value", Error ); SetFocus( Street2 ),
    IsBlank( City ),
        Notify( "City requires a value", Error ); SetFocus( City ),
    IsBlank( County ),
        Notify( "County requires a value", Error ); SetFocus( County ),
    IsBlank( StateProvince ),
        Notify( "State or Province requires a value", Error ); SetFocus( StateProvince ),
    IsBlank( PostalCode ),
        Notify( "Postal Code requires a value", Error ); SetFocus( PostalCode ),
    IsBlank( Phone ),
        Notify( "Contact Phone requires a value", Error ); SetFocus( Phone ),
    Notify( "Form is Complete", Success )
)

Vytvorenie tohto príkladu:

  1. Vytvorenie novej prázdnej aplikácie pre telefón.
  2. Stlačte ponuku Vložiť, stlačte Nová obrazovka a potom stlačte možnosť Posúvateľná.
  3. V strednej časti obrazovky pridajte ovládací prvok Zadávanie textu a pomenujte ho Názov, Ulica1, Ulica2, Mesto, Okres, StateProvince, PSČ a Telefón. Pridajte ovládacie prvky Označenie nad každým z nich na identifikáciu polí. Možno bude potrebné zmeniť veľkosť sekcie, ak nie je dosť dlhá na to, aby sa zmestili všetky ovládacie prvky.
  4. Pridajte začiarknutie ovládacieho prvku ikona v hornej časti obrazovky nad posúvateľnou časťou.
  5. Nastavte vlastnosť OnSelect ovládacieho prvku ikony podľa If( IsBlank( ... uvedeného vyššie.

Pri zobrazení obrazovky zaostrite

Poznámka

Hoci sa zdá, že tento príklad je ovládacím prvkom Formulár na úpravy , tento ovládací prvok ho SetFocus žiaľ zatiaľ nepodporuje. Tento príklad namiesto toho používa posúvaciu obrazovku na hosťovanie ovládacích prvkov vstupu.

Podobne ako pri vystavení ovládacieho prvku vstupu, pri zobrazovaní obrazovky na zadávanie údajov je užitočné zamerať prvý ovládací prvok vstupu na rýchlejšie zadávanie údajov.

Animácia zobrazujúca vedľa seba porovnanie používania SetFocus a nepoužívanie pri zobrazovaní obrazovky zadávania údajov.

V tejto animácii obrazovka zadávania údajov na ľavej strane nepoužíva prvok SetFocus. Na displeji nemá žiadny ovládací prvok vstupu zaostrenie, ktoré si vyžaduje, aby používateľ na kartu prešiel tabulátorom, ťukol, klikol myšou alebo použil iné prostriedky na zaostrenie Názvu pred zadaním hodnoty.

Vpravo máme presne tú istú aplikáciu s vlastnosťou OnVisible obrazovky na zadávanie údajov nastavená na tento vzorec:

SetFocus( Name )

Toto nastaví zameranie na Názov automaticky. Používateľ môže okamžite začať písať a prechádzať medzi poľami bez toho, aby vyžadoval predchádzajúcu akciu.

Vytvorenie tohto príkladu:

  1. Vytvorte aplikáciu „Zameranie na problémy s overením“ vyššie.
  2. Na tejto obrazovke nastavte vlastnosť OnVisible na vzorec SetFocus( Name ).
  3. Pridajte druhú obrazovku.
  4. Pridajte ovládací prvok Tlačidlo.
  5. Nastavte vlastnosť OnSelect tohto ovládacieho prvku na vzorec Navigate( Screen1 ).
  6. Ukážka aplikácie z tejto obrazovky. Stlačte tlačidlo. Vzorec OnVisible sa vyhodnotí a pole Názov bude automaticky zaostrené.