Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Attiecas uz: Audekla programmas
Modeļa vadītas programmas
Ievades fokusu pārvieto uz noteiktu vadīklu.
Apraksts
Funkcija SetFocus nodrošina ievades fokusa kontroli. Pēc tam šī vadīkla saņem lietotāja taustiņsitienus, ļaujot viņiem ievadīt ievades vadīklā tekstu vai izmantot Enter taustiņu, lai atlasītu pogu. Lietotāji var arī izmanto Tab taustiņu, skārienvadību, peli vai citu žestu, lai paši pārvietotu ievades fokusu. Tabulēšanas taustiņu darbību regulē rekvizīts TabIndex.
Izmantojiet funkciju, SetFocus lai iestatītu fokusu, kad (katrs ar piemēru zemāk):
- ir tikko eksponēta vai iespējota ievades vadīkla, lai vadītu lietotāju tajā, kas sekos tālāk, un nodrošinātu ātrāku datu ievadi.
- tiek validēta veidlapa, lai fokusētu un rādītu aizvainojošo ievades vadīklu ātram atrisinājumam.
- tiek rādīts ekrāns, lai fokusētu pirmo ievades vadīklu ar Ekrāna rekvizītu OnVisible.
Vadīkla ar fokusu var vizuāli atšķirties, pamatojoties uz FocusedBorderControl un FocusedBorderThickness rekvizītiem.
Ierobežojumi
SetFocus Var lietot tikai ar:
Fokusu nevar iestatīt vadīklām, kas atrodas galerijas vadīklā, veidlapas vadīklā vai komponentā. SetFocus Var izmantot ar vadīklu ritināmā ekrānā.
Fokusu nevar iestatīt vadīklām, kas atrodas vadīklā Konteineris.
Fokusu var iestatīt tikai uz vadīklām, kas atrodas tajā pašā ekrānā, kurā ir formula, kurā ir zvans SetFocus .
Mēģinājumiem iestatīt fokusu uz vadīklu, kuras rekvizīts DisplayMode ir iestatīts uz Disabled, nebūs nekādas ietekmes. Fokuss paliks tur, kur tas bija iepriekš.
Apple iOS ierīcē mīkstā tastatūra tiks parādīta automātiski tikai tad, ja SetFocus to uzsāka tieša lietotāja darbība. Piemēram, izsaucot no pogas rekvizīta OnSelect, tiks rādīta elektroniskā tastatūra, bet izsaucot no ekrāna OnVisible — nē.
Var izmantot SetFocus tikai uzvedības formulās.
Sintakse
SetFocus( Kontrole )
- Kontrole - Nepieciešama. Vadīkla, lai nodrošinātu ievadei fokusu.
Piemēri
Fokuss uz tikko eksponētu vai iespējotu ievades vadīklu
Daudzi iepirkumu grozi ļauj klientam izmantot piegādes adresi kā norēķinu adresi, mazinot vajadzību divreiz ievadīt vienu un to pašu informāciju. Ja vēlaties izmantot citu norēķinu adresi, tiek iespējoti norēķinu adreses teksta ievades lodziņi, un ir noderīgi novirzīt klientu uz šīm nesen iespējotajām vadīklām ātrākai datu ievadei.
Ir iesaistītas daudzas formulas, taču tā, kura pārvieto fokusu, atrodas vadīklas Izvēles rūtiņa rekvizītā OnUncheck:
SetFocus( BillingName )
Taustiņu Tab var arī izmantot, lai ātri pārvietotu fokusu no viena lauka uz citu. Labākai ilustrācijai animācijā netika izmantots Tab taustiņš.
Lai izveidotu šo piemēru:
- Izveidojiet jaunu programmu.
- Pievienojiet Etiķetes vadīklas ar tekstu "Piegādes adrese", "Vārds un uzvārds:", "Adrese:", "Norēķinu adrese", "Vārds un uzvārds:", and "Adrese:" un novietojiet tos, kā parādīts animācijā.
- Pievienojiet Teksta ievades vadīklu un pārdēvējiet to par ShippingName.
- Pievienojiet Teksta ievades vadīklu un pārdēvējiet to par ShippingAddress.
- PIevienojiet Izvēles rūtiņas vadīklu un pārdēvējiet to par SyncAddresses.
- Iestatiet šīs vadīklas Teksta rekvizītu uz formulu
"Use Shipping address as Billing address". - Pievienojiet Teksta ievades vadīklu un pārdēvējiet to par BillingName.
- Iestatiet šīs vadīklas Noklusējuma rekvizītu uz formulu
ShippingName. - Iestatiet šīs vadīklas DisplayMode rekvizītu uz formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Tādējādi šī vadīkla tiks automātiski iespējota vai atspējota atkarībā no izvēles rūtiņas vadīklas statusa. - Pievienojiet Teksta ievades vadīklu un pārdēvējiet to par BillingAddress.
- Iestatiet šīs vadīklas Noklusējuma rekvizītu uz formulu
ShippingAddress. - Iestatiet šīs vadīklas DisplayMode rekvizītu uz formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Tādējādi šī vadīkla tiks automātiski iespējota vai atspējota atkarībā no izvēles rūtiņas vadīklas statusa. - Iestatiet izvēles rūtiņas Noklusējuma rekvizītu uz formulu
true. Tādējādi tiks iespējots, ka norēķinu adrese izmantos tādu pašu vērtību kā piegādes adrese. - Iestatiet izvēles rūtiņas OnCheck rekvizītu uz formulu
Reset( BillingName ); Reset( BillingAddress ). Ja lietotājs izvēlas sinhronizēt piegādes un norēķinu adreses, tiks noņemta jebkāda lietotāja ievade norēķinu adreses laukos, ļaujot katram Noklusējuma rekvizītam izvilkt vērtības no atbilstošajiem piegādes adrešu laukiem. - Iestatiet izvēles rūtiņas OnUnCheck rekvizītu uz formulu
SetFocus( BillingName ). Ja lietotājs izvēlas izmantot citu norēķinu adresi, fokuss tiks pārvietots uz pirmo norēķinu adreses vadīklu. Vadīklas jau būs iestatītas savu DisplayMode rekvizītu dēļ.
Fokuss uz validācijas problēmām
Note
Lai gan šis piemērs šķiet veidlapas rediģēšanas vadīkla, diemžēl SetFocus šī vadīkla to vēl neatbalsta. Tā vietā šajā piemērā tiek izmantots ritināms ekrāns, lai viesotu ievades vadīklas.
Validējot veidlapu, var būt noderīgi ne tikai rādīt ziņojumu, ja radusies problēma, bet arī aizvest lietotāju uz problemātisko lauku. Tas var būt īpaši noderīgi, ja konkrētais lauks tiek aizritināts ārpus ekrāna un nav redzams.
Šajā animācijā validācijas poga tiek atkārtoti spiesta, līdz visi lauki ir atbilstoši aizpildīti. Ņemiet vērā, ka peles rādītājs nevirzās uz leju no ekrāna augšpuses. Tā vietā SetFocus funkcija ir pārvietojusi ievades fokusu uz vadīklu, kurai jāpievērš uzmanība, izmantojot šo formulu:
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 )
)
Lai izveidotu šo piemēru:
- Izveidojiet jaunu, tukšu tālruņa programmu.
- Izvēlnē Ievadīt atlasiet Jauns ekrāns un pēc tam atlasiet Ritināms.
- Ekrāna centra sadaļā pievienojiet Teksta ievades vadīklas un nodēvējiet tās par Name, Street1, Street2, City, County, StateProvince, PostalCode, and Phone. Virs katra pievienojiet Etiķetes vadīklas, lai identificētu laukus. Iespējams, vajadzēs mainīt šīs sadaļas izmēru, ja tā nav pietiekami gara, lai tajā ietilptu visas vadīklas.
- Pievienojiet Ikonas vadīklas atzīmi ekrāna augšpusē virs ritināmās sadaļas.
- Iestatiet ikonas vadīklas rekvizītu OnSelect uz formulu
If( IsBlank( ..., kas norādīta iepriekš.
Fokuss, rādot ekrānu
Note
Lai gan šis piemērs šķiet veidlapas rediģēšanas vadīkla, diemžēl SetFocus šī vadīkla to vēl neatbalsta. Tā vietā šajā piemērā tiek izmantots ritināms ekrāns, lai viesotu ievades vadīklas.
Līdzīgi kā eksponējot ievades vadīklu, datu ekrāna rādīšanas laikā ir noderīgi fokusēt pirmo ievades vadīklu, lai panāktu datu ātrāku ievadi.
Šajā animācijā kreisajā pusē esošais datu ievades ekrāns neizmanto SetFocus. Rādīšanas laikā nevienai ievades vadīklai nav fokusa, kas nozīmē, ka lietotājam ir jāpieskaras, jānoklikšķina vai jāizmanto cits veids, lai fokusētu lauku Vārds, pirms tajā var ievadīt vērtību.
Labajā pusē ir tieši tāda pati programmas, kuras datu ievades ekrāna rekvizīts OnVisible ir iestatīts uz šo formulu:
SetFocus( Name )
Tas automātiski iestata fokusu uz lauku Vārds. Lietotājs var sākt rakstīt un tabulēt starp laukiem nekavējoties un neveicot iepriekšējas darbības.
Lai izveidotu šo piemēru:
- Izveidojiet augstāk minēto programmu "Fokuss uz validācijas problēmām".
- Šajā ekrānā iestatiet rekvizītu OnVisible uz formulu
SetFocus( Name ). - Pievienojiet otro ekrānu.
- Pievienojiet Pogas vadīklu.
- IEstatiet šīs vadīklas rekvizītu OnSelect uz formulu
Navigate( Screen1 ). - Priekšskatiet programmu no šī ekrāna. Nospiediet pogu. Formula OnVisible tiks novērtēta un lauks Vārds tika automātiski fokusēts.