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 :

defilement scroll bar molette souris


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut defilement scroll bar molette souris
    Bonjour,

    Je développe une appli sous visual studio 2012 en vb.net. Je souhaiterai donner l'évenement mouse wheel uniquement au scroll du table layout panel et non au combo et autre numeric box.

    Mon form est composé d'une centaine d'objets. A chaque fois qu'une combo ou une numeric box prend le focus, l'utilisateur en utilisant la molette change l'enregistrement et celà peut engendrer de nombreuses erreurs de saisie.

    Merci d'avance de votre retour.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    La solution la plus rependu est de créer un CustomControl ou UserControl qui va ignorer l’événement.
    C'est la solution "en Force" par réécriture en surcharge.

    Par contre j'ai aussi vu qu'il était possible d'implémenter une interface IMessageFilter qui va permettre d'intercepter l’événement sur le contrôle avant qu'il n'arrive. Si tu choisis de creuser cette solution, je pense que ça peut en intéressé d'autres !
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut defilement scroll bar molette souris
    Moi j'avais mis en place un évenement click qui donne le focus au panel, et qui du coup empêche de scroller après un clic.

    Le retour des utilisateurs n'étant pas suffisant il faut que je creuse.

    Qu'entends-tu "créer un CustomControl ou UserControl qui va ignorer l’événement."

    Comment ignorer l'évenement, c'est justement mon but.

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Imaginons que tu souhaitais annuler l’événement que pour un contrôle.

    Tu crées donc l'évènement : ComboBox1 + MouseWell
    Et dedans tu écris : e.Handled = True

    Du coup, l'application crois que l’événement est déjà géré et il ne fait rien.

    Reporter ça sur tous les contrôles qui t'intéresse peut être laborieux, du coup on peut très bien créer un Customcontrol ou userControl, par exemple pour le ComboBox, dans lequel tu édites cet événement. Et dans ton application, au lieu d'ajouter un combobox, tu ajoutes TON combobox, dont l’événement sera déjà géré, donc tu n'auras "rien" à faire.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Re, et surtout merci de te pencher sur mon problème

    Voici le code écrit pour une combo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub ComboBox1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ComboBox1.MouseWheel
            Dim disable As HandledMouseEventArgs = e
            disable.Handled = True
        End Sub
    Malheureusement ce code ne fonctionne pas.

    Qu'est ce qu'il peut empêcher l'évènement de se produire ?

  6. #6
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bonjour,

    pourquoi avoir créé une variable locale ?

    Il faut utiliser e, directement, celui en paramètre !
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

Discussions similaires

  1. Gerer le defilement avec la molette de la souris
    Par jaasta dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 16/02/2010, 14h32
  2. évenement scroll et molette souris
    Par pas30 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 11/10/2009, 10h26
  3. Réponses: 3
    Dernier message: 18/03/2009, 16h13
  4. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  5. Faire defiler deux listes avec une scroll bar
    Par mcdelay dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/05/2007, 14h54

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