Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

inactivité sur un composant

1 réponse
Avatar
fradin thierry
Bonjour =E0 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=E8me 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

1 réponse

Avatar
Gloops
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.