IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Timer pour detecter souris a l'arret


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Timer pour detecter souris a l'arret
    Bonjour

    J'aimerais utiliser les temps morts de la souris pour lancer un process de recherche

    L'utilisateur balade sa souris sur une image composée de beaucoup d'éléments
    Je ne veux pas manger du CPU en lancant des recherches en permanence, mais uniquement quand la souris s'arrete sur un point

    Il y a certainement moyen de faire cela avec un event timer

    Mais pour ne pas réinventer la roue je cherche un modele existant

    ??

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il suffit de gérer l'évènement MouseHover, qui se produit quand la souris reste quelques instants au même point.

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Tomlev

    Il y a qq semaines j'avais investigué MouseHover

    J'avais conclu que ce n'etais pas utilisable

    De memoire il me semble que MouseHover ne se produit qu'une seule fois au premier temps d'arret sur un meme controle, il faut ressortir du controle pour reproduire un MouseHover

    Je crois que le timer serait le plus souple car en plus il permettrait de hirarchiser des process
    Je m'arrete un peu : je vais chercher un nom
    Je m'arrete plus longtemps : je construit l'abre généalogique :
    Je reste endormi : Je fais le theme astral

    Mais bon je n'ai pas encore l'expérience du timer et de ses event

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben c'est pas bien compliqué...
    Tu poses un timer sur ta form
    Dans l'évènement MouseHover, tu démarres le timer, et tu l'arrêtes dans le MouseMove
    Dans l'évènement Tick du timer, tu lances le traitement voulu (dans un autre thread de préférence...)

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    A mon avis MouseHoover c'est pas une bonne idée

    Je prefere utiliser MouseEnter et MouseLeave
    Et effectivement je dois remettre a zero sur MouseMove

    Question
    Sur le MouseEnter
    Je dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Timer.enabled=true
    // ou 
    Timer.Start();
    J'ai pas bien saisi la nuance ?
    Corrolairement
    Sur le MouseLeave
    Je dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Timer.enabled=false;
    // ou 
    Timer.Stop();
    Et je n'ai pas vu comment le remettre a zero
    Ou alors l'idée c'est de mettre un intervalle asser petit, d'avoir un compteur de tick que j'incrémente dans le TickEvent et que je remets a zero dans le mousemove

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par olibara Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Timer.enabled=true
    // ou 
    Timer.Start();
    J'ai pas bien saisi la nuance ?
    C'est pareil
    Idem pour le Stop

    Citation Envoyé par olibara Voir le message
    Et je n'ai pas vu comment le remettre a zero
    Ou alors l'idée c'est de mettre un intervalle asser petit, d'avoir un compteur de tick que j'incrémente dans le TickEvent et que je remets a zero dans le mousemove
    A priori le compteur repart de 0 quand tu fais Start... à vérifier quand même

Discussions similaires

  1. [VB.NET] Label - Un timer pour tous ?
    Par b_lob dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/05/2006, 15h56
  2. creer une page avec timer pour 2 URLS
    Par anubisme dans le forum Langage
    Réponses: 4
    Dernier message: 21/04/2006, 11h03
  3. Quelle API pour detecter un Exe qui s'execute.
    Par caviar dans le forum MFC
    Réponses: 3
    Dernier message: 20/04/2006, 13h26
  4. Gestionnaire d'événements pour la souris en assembleur
    Par bassim dans le forum Assembleur
    Réponses: 2
    Dernier message: 09/12/2005, 23h45
  5. Réponses: 4
    Dernier message: 24/11/2005, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo