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 :

Handler à déclenhement multiple ou alternative?


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut Handler à déclenhement multiple ou alternative?
    Bonjour,

    Je souhaite pour mon usage personnel réaliser un petit "tableau de bord" qui me permette de créer et supprimer des notes écrites. Celui-ci fonctionne de la manière suivante:

    - au démarrage, il est sous forme "réduite", présent uniquement dans le coin en haut à droite du bureau,

    - dès que la souris passe sur la forme réduite, la fenêtre s'agrandi et permet d'acceder à l'ensemble des fonctions du programme,

    - Lorsque la souris quitte la forme "agrandie" la fenêtre est de nouveau réduite, grâce à l'évènement MouseLeave

    [Les deux formes réduites et agrandie sont en réalité deux "Forms" différentes, la forme réduite appartenant à la forme agrandie]

    Je n'arrive pas à régler un problème:

    Il y a des composants sur la forme "agrandie", et dès que je passe dessus, MouseLeave est activée. Comment faire pour éviter ce problème?

    Je n'ai que peut de connaissances en C#, des solutions qui semblent évidentes peuvent donc m'échapper.

    Merci d'avance,
    LDPDC

  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
    Citation Envoyé par LDPDC Voir le message
    Il y a des composants sur la forme "agrandie", et dès que je passe dessus, MouseLeave est activée. Comment faire pour éviter ce problème?
    C'est parce que quand la souris est au-dessus d'un contrôle, elle n'est plus considérée comme au-dessus de la Form. Pour régler ça, il suffit que tu vérifies si ta souris est hors des limites de la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void Form1_MouseLeave(object sender, EventArgs e)
    {
        // si la souris est hors des limites de la fenêtre
        if (!this.Bounds.Contains(Control.MousePosition))
        {
            // passer en mode réduit
        }
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    Merci beaucoup
    LDPDC

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Alternative sélection multiple
    Par dax60840 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/05/2014, 10h42
  3. Réponses: 87
    Dernier message: 06/07/2011, 15h33
  4. cherche alternative à l'héritage multiple
    Par X-dark dans le forum Langage
    Réponses: 4
    Dernier message: 22/04/2009, 17h04
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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