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

VB.NET Discussion :

MouseWheel et KeyBoard events


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2012
    Messages : 6
    Par défaut MouseWheel et KeyBoard events
    Contexte : Windows 7 Pro + Microsoft Visual Studio 2010
    Version 10.0.30319.1 RTMRel
    Microsoft .NET Framework
    Version 4.0.30319 RTMRel
    Version installée : VB Express

    Bonjour,

    Je code une application graphique et je souhaite pouvoir récupérer les événements du clavier et de la souris, en particulier MouseWheel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub picImage_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles picImage.MouseHover
       picImage.Focus()
    End Sub
     
    Private Sub picImage_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles picImage.MouseWheel
       ...
    End Sub
     
    Private Sub frmMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
       ...
    End Sub
    Si dans MouseHover j'invoque Focus(), je récupère bien les événements MouseWheel.
    En revanche KeyDown ne répond plus.

    Si dans MouseHover je n'invoque pas Focus(), je récupère bien les événements KeyDown.
    En revanche MouseWheel ne répond plus.

    Où est mon erreur?
    Comment récupérer les événements de KeyDown et MouseWheel ?

    Merci

  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
    C'est normal ; les évènements MouseWheel et KeyDown ne sont envoyés qu'au contrôle qui a le focus. Donc si c'est la Form qui a le focus, picImage ne reçoit rien, et si c'est picImage qui a le focus, la Form ne reçoit rien.

    La solution la plus simple dans ton cas est sans doute de positionner la propriété KeyPreview à True sur ta form, de façon à ce qu'elle puisse intercepter les évènements clavier avant les contrôles auxquels ils sont destinés

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2012
    Messages : 6
    Par défaut
    Merci, c'est bien la solution à mon problème.

  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
    N'oublie pas le bouton si ça répond à ta question

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

Discussions similaires

  1. Appuie de 3 touches simultanées avec keyboard event
    Par EvilDef3 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 06/11/2009, 00h00
  2. Recuperer control/shift keyboard event
    Par eric_vi dans le forum Qt
    Réponses: 3
    Dernier message: 05/08/2009, 16h33
  3. Evénement KeyBoard Event
    Par riri2938 dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/08/2009, 19h45
  4. code hexa du point pour keyboard event
    Par darkwall_37 dans le forum Débuter
    Réponses: 3
    Dernier message: 11/04/2009, 21h45
  5. Les Keyboard Event et la compilation
    Par leodi dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 21/05/2008, 00h45

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