Je maakt de fout om bij het invoeren van een editbox niet toe te staan dat iemand de box verlaat bij ongeldige invoer.
Stel dat je programma gebruikt wordt door iemand die die melding niet goed kan interpreteren, of (minder onlogisch) er is een bug ontstaan waardoor de dataset niet in edit-mode staat en er dus niets ingetypt kan worden?
In dat geval zou iemand via taakbeheer je programma af moeten sluiten omdat dat de enige manier is om de box te verlaten. Dat kan niet de bedoeling zijn, toch?
Maar iets concreter: Waarschijnlijk heb je een knop waarvan Default op true staat. Een druk op enter zal naar die knop springen. Dat gebeurt dan al voordat jouw code in werking treedt. Met een druk op tab gebeurt dat blijkbaar niet; die zal juist op een later moment worden afgehandeld.
De precieze volgorde van afhandeling van dit soort speciale toetsen zorgt nogal eens voor verwarring, evenals het OnExit-event, dat soms niet uitgevoerd wordt, en soms op een onlogisch moment (na de OnEnter van het andere control).
Al met al zou ik nogmaals willen adviseren om deze controle pas uit te voeren voordat je gaat opslaan en het zeker niet zo hard af te dwingen als je nu probeert te doen.
Als je al eerder visuele feedback wilt geven, zet dan een plaatje van een vinkje achter een goed ingevulde box en een plaatje van een kruisje achter een fout ingevulde box. Met nog een ander symbooltje kun je aangeven dat invoer verplicht is. Zodoende kan de gebruiker al direct zien waar hij aan toe is, zonder dat hij tijdens de invoer wordt gestoord door blokkerende pop-ups en automatisch verspringende focus.
Een handjevol voordelen:
- Je hebt de controle
in ieder geval waar je hem altijd hebben moet: op het moment van opslaan
- Je gebruiker kan direct doorwerken: gebruiksgemak is goed.
- Ervaren gebruikers storen zich niet aan de kinderlijke 'bescherming' die je toepast
- Icoon-aanduiding, zoals ik beschreef, is niet blokkerend en stoort niet in het gebruik
- Icoon-aanduiding kan bovendien op een later moment nog ingebouwd worden --> Voortgang in ontwikkeling.
Bookmarks