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

Windows Forms Discussion :

[VB.NET] gestion souris


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 44
    Points
    44
    Par défaut [VB.NET] gestion souris
    bonjour,

    je programme sous VB.net
    et je voudrais integrer une sorte de veille a mon programme. Pour cela je dois checker l'etat de la souris, et je n'arrive pas a utilisé mousemove et toute les autresfoncton (mousedown, mouseup, mouseleave)

    j'ai fais une fonction qui affiche une message box quand la souris bouge (pour le test) et rien ne se passe si quelqu'un a une idée??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private sub Form1_mousemove(...)handles mybase.mousemove
     
    msgbox("sa bouge!")
     
    end sub
    d'avance merci

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    Ton code doit marcher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub frmReportTabs_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
            MsgBox("test")
     End Sub
    Par contre ca ne marchera pas si:

    1. ton pointeur est au dessus d'un control du form
    2. tu bouges ton pointeur dans la fenetre mere de ton form (en supposant que tu es en MDI)

    Donc tu dois gerer le mouvement sur ton form ET sur les controls dans le form.

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Soit quelquechose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'juste après InitializeComponent
    Dim c as Control
    For Each c In Me.Controls
       AddHandler c.MouseMove, AddressOf Me.MyMouseMove
    Next
    AddHandler MouseMove, AddressOf Me.MyMouseMove
     
    '...etc...
    Private Sub MyMouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
            '...
    End Sub
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    mon appli ne contient pas de mdi et elle est en plein ecran (elle couvre le menu demarrer)

    j'ai fini par faire une fonction qui check la position de la souris et verifie si elle a bougée ou pas, sa fonctionne mais c'est peu etre pas le plus propre

    merci

  5. #5
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    tu n'aurais pas un panel dans ta fenetre qui a la propriété dock à fill? C'est peut etre pour ca que le mouvement de la souris n'est pas détecté, et dans ce cas tu dois opter pour le code que t'as donné Neguib.

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par leptityugi
    mon appli ne contient pas de mdi et elle est en plein ecran (elle couvre le menu demarrer)
    j'ai fini par faire une fonction qui check la position de la souris et verifie si elle a bougée ou pas, sa fonctionne mais c'est peu etre pas le plus propre
    merci
    Au fait le code que je t'ai donné n'a rien à voir avec MDI mais tient compte simplement qu'une Form contient necessairement des Controls.
    Par contre je suppose que tu es passé par un eApi pour detecter la position de la souris donc après tout c'est tout aussi valable que de faire en sorte de gérer ma méthode MouseMove qui en natif va aussi gérer plusieurs Api, tu as en fait recoder le MouseMove pourquoi pas
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. [VB.NET] Gestion des clicks de souris
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/04/2006, 11h28
  2. [VB.NET] Gestion en temps réel d'une bdd access
    Par qwiskas dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/02/2005, 19h37
  3. [VB.NET] Gestion des boutons d'un formulaire
    Par dinbougre dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2005, 09h35
  4. [VB.NET] Gestion pool de connexions....
    Par Sinclair dans le forum ASP.NET
    Réponses: 23
    Dernier message: 21/12/2004, 10h57
  5. Réponses: 8
    Dernier message: 06/07/2004, 14h17

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