Partekatu honen bidez:


SetFocus funtzioa

Hauei aplikatzen zaie: Canvas aplikazioei Ereduetan oinarritutako aplikazioei

Sarrerako fokua kontrol zehatz batera eramaten du.

Deskribapenak

SetFocus funtzioak kontrolari sarrerako fokua ematen dio. Erabiltzailearen gako teklak kontrol horren bidez jasotzen dira eta, horri esker, Text input kontrola idatzi edo erabil dezakete Sartu tekla botoia aukeratzeko. Erabiltzaileak ere erabil dezake Tabuladorea tekla, ukimena, sagua edo bestelako keinua sarrerako fokua bera mugitzeko. Tabuladorea tekla TabIndex propietateak kudeatzen du.

Erabili SetFocus funtzioa fokua noiz ezartzeko (bakoitza beheko adibide batekin):

  • azaldu berri den edo gaitutako sarrerako kontrola, erabiltzaileari jarrai dezan eta datuak azkarrago sartzeko.
  • inprimakia baliozkotu da, iraingarri diren kontrolen kontrola ebazteko eta ebazteko azkar ebazteko.
  • pantaila bat bistaratuko da, lehenengo sarrerako kontrola hau garatzeko OnVisible propietatea honen Pantaila.

Fokua duten kontrola ikusmen desberdina da FocusedBorderColor eta FocusedBorderThickness propietateak.

Mugak

SetFocus funtzioa honako hauekin erabil daiteke soilik:

Ezin duzu fokua ezarri Galeria kontrolean, Editatu inprimakia kontrolean edon dauden kontroletan. Osagaia. SetFocus kontrol batekin erabil daiteke korritzeko pantaila batean.

Ezin duzu fokua kontrol baten barruan ezarri Edukiontzia kontrola.

Fokua kontrolak pantailan kontrolak bakarrik jar ditzakezu SetFocus deia.

Fokua bere kontrol bat ezartzen saiatzen da DisplayMode propietatea ezarrita Desgaituta ez du eraginik. Fokua lehen zegoen lekuan mantenduko da.

Apple iOSn, teklatu biguna automatikoki bistaratuko da SetFocus erabiltzailearen ekintza zuzen batek abiarazi badu. Adibidez, botoi batetik deitzea OnSelect propietateak teklatu biguna bistaratuko du pantaila batetik gonbidatuta eta OnVisible ez.

SetFocus funtzio horiek barruan bakarrik erabil ditzakezu portaera-formuletan.

Sintaxia

SetFocus( Kontrola )

  • Kontrola - Beharrezkoa. Sarrera fokua emateko kontrola.

Adibideak

Aurkeztu berri duzun edo gaitutako sarrerako kontrola

Erosketa-saski askok bezeroari bidalketa-helbidea fakturazio-helbide gisa erabiltzeko aukera ematen diote, informazio bera birritan sartu beharra arinduz. Beste fakturazio-helbide bat nahi bada, fakturazio-helbidearen testua idazteko koadroak gaituta daude, eta lagungarria da bezeroa gaitu berri diren kontrol horietara bideratzea datuak azkarrago sartzeko.

Animazio fakturazio helbide pertsonalizatua erabiltzearen animazioa, ondorioz, fakturazioaren izenaren sarrera kontrolera eraman da, bidalketa helbideekin sinkronizazio automatikoa desaktibatuz.

Hemen daude formula asko jokoan, baina fokua mugitzen duena da OnUncheck propietatearen Check box kontrola:

SetFocus( BillingName )

Tabuladorea tekla ere erabil daiteke eremu batetik bestera fokua azkar mugitzeko. Tabuladorea tekla hobeto ikusteko, ez da animazioan erabili.

Adibide hau sortzeko:

  1. Sortu aplikazio bat.
  2. Gehitu Label kontrolak "Bidalketa helbidea", "Izena:", "Helbidea:", "Fakturazio helbidea", "Izena:" eta "Helbidea:" testuekin jarri animazioan agertzen den moduan.
  3. Gehitu Text input kontrola eta, berrizendatu ShippingName.
  4. Gehitu Text input kontrola eta, berrizendatu ShippingAddress.
  5. Gehitu Check box kontrola eta izena aldatu SyncAddresses.
  6. Ezar ezazu Testua propietatea kontrolean "Use Shipping address as Billing address" formulan.
  7. Gehitu Text input kontrola eta, berrizendatu BillingName.
  8. Ezar ezazu Lehenetsia propietatea kontrolean ShippingName formulan.
  9. Ezar ezazu DisplayMode propietatea kontrolean If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ) formulan. Honek automatikoki aktibatu edo desgaitu egingo du kontrol laukien kontrol egoeran oinarritutako kontrol hau.
  10. Gehitu Text input kontrola eta, berrizendatu BillingAddress.
  11. Ezar ezazu Lehenetsia propietatea kontrolean ShippingAddress formulan.
  12. Ezar ezazu DisplayMode propietatea kontrolean If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ) formulan. Honek automatikoki aktibatu edo desgaitu egingo du kontrol laukien kontrol egoeran oinarritutako kontrol hau.
  13. Ezar ezazu Lehenetsia propietatea kontrol-laukian true formulan. Honek fakturazioaren helbidea lehenetsiko du bidalketa helbideko balio bera erabil dezan.
  14. Ezar ezazu OnCheck propietatea kontrol-laukian Reset( BillingName ); Reset( BillingAddress ) formulan. Erabiltzaileak Bidalketa eta Fakturazio helbideak sinkronizatzen baditu, erabiltzailearen edozein sarrera inputatuko du Lehenetsia propietate bakoitza balioak dagozkien bidalketa helbide eremuetatik ateratzeko.
  15. Ezar ezazu OnUncheck propietatea kontrol-laukian SetFocus( BillingName ) formulan. Erabiltzaileak fakturazio helbide ezberdina aukeratzen badu, fokuak fakturazio helbideko lehen kontrolera eramango du. Kontrolak dagoeneko gaituta egongo dira DisplayMode propietateak.

Balidazio-arazoen fokua

Oharra

Adibide hau Edit form kontrolean dago eta, zoritxarrez, SetFocus propietatea oraindik ez du onartzen kontrol horrek. Horren ordez, adibide honek pantaila desplazagarria erabiltzen du sarrerako kontrolak ostatatzeko.

Inprimaki bat balioztatzerakoan, lagungarria izan daiteke arazoren bat baldin bada mezuak ez bistaratzea, erabiltzailea iraingarria den eremura eramatea baizik. Bereziki lagungarria izan daiteke gaiaren eremua pantailatik mugitzen bada eta ikusgai ez badago.

Datuak sartzeko inprimakia balioztatzeko eta mezu bat bistaratzeaz gain, sarrerako fokua iraingarriko duen kontrolaren kontrolera ezarrita egoteko animazioa da.

Animazio honetan, balioztatze botoia behin eta berriz sakatzen da eremu guztiak behar bezala bete arte. Kontuan izan saguaren erakuslea ez dela mugitzen pantailaren goialdetik. Horren ordez, SetFocus funtzioak sarrerako fokua mugitu du formula honekin arreta behar duen kontrolera:

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 )
)

Adibide hau sortzeko:

  1. Sortu telefonorako aplikazio bat hutsetik.
  2. Txertatu menutik, hautatu Pantaila berria eta sakatu Lerrakorra.
  3. Pantailaren erdian, gehitu Text input kontrolak eta idatzi haien izena Izena, 1. kalea, 2. kalea, Hiria, Konderria, Estatua/Probintzia, Posta-kodea eta Telefonoa. Gehitu Label kontrolak bakoitzaren gainetik eremuak identifikatzeko. Baliteke atala tamaina aldatu behar izatea kontrol luzeetara egokitzen ez bada.
  4. Gehitu Ikonoa kontrola kontrol-marka pantailaren goialdean, desplazatu atalaren gainetik.
  5. Ezar ezazu ikonoaren OnSelect propietatea If( IsBlank( ... formulara gorago eman dena.

Pantaila bistaratzerakoan fokatu

Oharra

Adibide hau Edit form kontrolean dago eta, zoritxarrez, SetFocus propietatea oraindik ez du onartzen kontrol horrek. Horren ordez, adibide honek pantaila desplazagarria erabiltzen du sarrerako kontrolak ostatatzeko.

Sarrerako kontrola azaltzearen antzekoa, datuen sarrerako pantaila bistaratzerakoan lagungarria da lehen sarrerako kontrola datuen sarrera azkarrago batean bideratzea.

Animazio bat, SetFocus erabiltzearen alboko alderaketa erakusten duena, datuak sartzeko pantailan agertzen ez denean erabiltzea.

Animazio honetan, ezkerreko datuak sartzeko pantaila ez da erabiltzen SetFocus. Bistaratutakoan, sarrerako kontrolik ez du fokuak behar. Erabiltzailea fitxatu, ukitu edo sagua eduki edo beste bide bat erabili behar du arreta izena eremuan, balio bat idatz daiteke.

Eskuinaldean aplikazio bera dugu OnVisible formula hau honetarako ezarrita dago datuak sartzeko pantailaren propietatea:

SetFocus( Name )

Horrek fokua ezartzen du Izena eremua automatikoki. Erabiltzailea eremuen artean idazten eta fitxatzen hasten da berehala, beharrezkoa ez den neurrian.

Adibide hau sortzeko:

  1. Sortu goiko "Balidazio-arazoen fokua" aplikazioa.
  2. Pantaila honetan, ezarri OnVisible propietatea SetFocus( Name ) formulan.
  3. Gehitu beste pantaila bat.
  4. Gehitu Button kontrola.
  5. Ezarri kontrol horren OnSelect propietatea Navigate( Screen1 ) formulan.
  6. Aurreikusi aplikazioa pantaila honetatik. Sakatu botoia. OnVisible formula ebaluatuko da eta Izena eremua automatikoki fokuan egongo da.