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 :

Execution d'une action tant que le bouton est cliqué [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut Execution d'une action tant que le bouton est cliqué
    Salut à tous.

    Une fois de plus, je me tourne vers vous pour un peu d'aide.

    Voilà, j'ai 4 boutons qui me permettent de déplacer des labels dans les 4 directions (Haut, bas, droite et gauche).

    Lorsque je clique sur l'un de ces boutons, mon label se déplace d'un pixel dans le sens souhaité. ensuite, je suis obligé de recliquer sur ce même bouton pour déplacer à nouveau mon label d'un pixel dans le même sens et ainsi de suite etc....

    Ce que j'aimerais, c'est que tant que je reste cliqué sur le bouton le label se déplace dans le sens voulu. et que l'orsque je relache le clique, déplacement s'arrête.

    Voici le code que j'ai actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub BTN_BAS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_BAS.Click
                        ANNONCE.LAB_TXT_PERSONNALISABLE.Location = New Point(ANNONCE.LAB_TXT_PERSONNALISABLE.Location.X, ANNONCE.LAB_TXT_PERSONNALISABLE.Location.Y + 1)
    End Sub
    Merci par avance pour vos conseils qui pourront m'aider à réaliser l'action que je souhaite

    @+ Martipit

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    voir s'il n'y a pas un control repeatbutton

    sinon poser un timer (mettre l'interval à 100ms pour commencer)
    sur mousedown faire timer.start
    sur mouseup faire timer.stop
    sur timer.tick faire label.left += 1

    il faudrait aussi une variable pour dire la direction et la setter dans le mousedown selon le bouton, et dans le tick selon la direction faire ce qu'il faut sur le label


    néanmoins le mieux serait peut etre de permettre à un déplacement en glisser déposer avec la souris ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    Salut pol63

    Merci pour cette réponse

    Concernant le timer, j'y avais pensé mais j'en utilise dèjà un certina nombre dans mon appli et à force, j'aurais peur qu'elle devienne trop lente.

    Concernant le glisser déposer ce ne sera pas possible car les label ne sont pas affichés sur mon écran principal mais sur le bureau étendu qui n'est pas forcément à ma vue.

    Pour positionner mes label, j'utilise donc un préview qui me permet de savoir ou j'en suis.

    Je pensais donc que ces 4 bouton pourrait me permettre une utilisation simple pour deplacer ces labels.

    Voilà.

    @+ Martipit

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par Martipit Voir le message
    Concernant le timer, j'y avais pensé mais j'en utilise dèjà un certina nombre dans mon appli et à force, j'aurais peur qu'elle devienne trop lente.
    peur infondée, les processeurs d'aujourd'hui passent plus de temps à attendre qu'à faire quelque chose ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    Salut

    J'ai suivi ton conseil avec MouseUp et MouseDOwn le tout géré par un Timer.

    Merci à toi

    Ca fonctionne comme je le souhaite

    @+ Martipit

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/03/2015, 14h57
  2. Réponses: 3
    Dernier message: 29/03/2006, 13h21
  3. [VBA-E]copie d'une formule tant que
    Par arkazar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/03/2006, 12h27
  4. [LG] Inversion avec une boucle tant que
    Par erickson dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 15h15
  5. [VB6] Exécuter un programme en tant que...
    Par Le_Tolier dans le forum VB 6 et antérieur
    Réponses: 36
    Dernier message: 28/05/2004, 14h53

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