Bonjour à tous et à toutes.
Ma question va paraître tordue, mais c'est une demande officielle de mes utilisateurs, et franchement, j'ai du mal à voir comment m'y prendre.
En gros:
1) Situation
J'ai une application Windows c# qui, au lieu d'avoir des boutons, utilise des zones de clic avec des listeners pour activer des méthodes. L'idée était de rendre le tout "esthétique".
2) De ce fait, on a de jolies zones à clics, mais qui posent problème au double clic (vu qu'il arrive d'une zone s'active et se désactive alors trop vite, ceci posant des problèmes de fonctionnement)
3) L'idée est qu'on veut "temporiser" entre deux clics, à savoir le cycle suivant
- Clic de la souris: on exécute le changement
- On temporise de sorte à ne pas tenir compte du clic suivant pendant une durée déterminée (peu importe combien)
- Ensuite, on autorise à nouveau le clic.
Mes soucis:
1) Puisqu'il y a de nombreux écouteurs qui se génèrent automatiquement (par affectation aux zones), je ne me vois pas déglinguer toute la mécanique existante
2) Il faut que cette tempo soit "postérieure" à l'exécution, puisqu'il faut que le "premier" clic soit effectif, et que le second ne soit bloqué que dans l'intervalle.
Avez-vous une idée? Sur le principe, je me suis dit plusieurs hypothèses, mais j'aimerais votre avis:
1) Mettre en place un timer commun qu'on observe: s'il est "actif", le clic n'est pas accepté, sinon il est pris en compte.
2) Je suppose qu'il faudrait être au niveau supérieur, de sorte à ce que tous les clics souris soient pris en compte.
Avez vous une idée sur comment m'y prendre?
Partager