inactivité sur un composant

Le
fradin thierry
Bonjour à tous

j'utilise un seul formulaire qui contient trois zones de saisie. A B C
l'utilisateur doit remplir A et B, puis il rentre des valeurs dans C
sans que A et B ne prennent le Focus.
Mon problème est lorsque l'utilisateur reste plus de 30 secondes sans
rentrer des infos dans C , A et B ce vide et reprennent le focus.

Comment faire cela merci de votre aide par avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #24855622
fradin thierry a écrit, le 09/10/2012 11:09 :
Bonjour à tous

j'utilise un seul formulaire qui contient trois zones de saisie. A B C
l'utilisateur doit remplir A et B, puis il rentre des valeurs dans C
sans que A et B ne prennent le Focus.
Mon problème est lorsque l'utilisateur reste plus de 30 secondes sans
rentrer des infos dans C , A et B ce vide et reprennent le focus.

Comment faire cela merci de votre aide par avance




Bonjour,

Dans la procédure OnTimer, placer les actions voulues comme A.SetFocus.

Par ailleurs, reste à positionner TimerInterval à la durée en
millisecondes, donc 30000. Je verrais ça en C_GotFocus, mais il faut le
remettre à 0 quand on commence à saisir quelque chose, donc en C_OnCh ange.

Il se peut qu'il soit plus judicieux de mettre un intervalle plus court
et de gérer selon que l'utilisateur saisit quelque chose ou pas, si
l'événement Timer doit être exécuté ou non. Donc on créerait une
variable de type DateTime (euh, on dit Date) au niveau du formulaire, et
dans le Timer on calculerait la différence entre l'heure actuelle Now()
et celle qui a été stockée dans la variable au niveau formulaire. C omme
ça, c'est facile d'actualiser cette variable DebutTimer au moment où
l'utilisateur saisit quelque chose, donc dans C_OnChange.

Une fois les conditions requises réunies, ne pas oublier, dans OnTimer,
de remettre le TimerInterval à zéro, afin d'éviter que A soit
re-sélectionné toutes les trente secondes.
Publicité
Poster une réponse
Anonyme