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 :

[Button] Bouton Play Pause


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut [Button] Bouton Play Pause
    Bonjour à vous,
    J'aimerais faire un bouton "Play-Pause" comme dans certains lecteur multimédia, avec en plus un raccourci clavier.
    En gros, il faudrait un bouton avec le texte PLAY (ou une image) et dès qu'on clique dessus le texte change (PAUSE ou autre image) et quand on clique à nouveau ça revient à PLAY et ainsi de suite.

    Jusque là je vois plusieurs solutions pour le faire mais le problème est que:
    - le code est différent si on clique PLAY ou si on clique PAUSE
    - je souhaiterais que le raccourci clavier soit la même touche (P par exemple)

    Auriez-vous quelques conseils pour que je me lance sur la bonne voie...

    En vous remerciant!

  2. #2
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Bon, pour la touche clavier je ne peux pas t'aider, j'ai pas ecore essayé,

    sinon pour ton bouton tu peux faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub evennement bouton click
     
    Select case monbouton.text
    case "PLAY" 'le bouton est PLAY
    monbouton.text="PAUSE"
    'ton code
    case "PAUSE" 'le bouton est PAUSE
    monbouton.text="PLAY"
    'ton code

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut
    effectivement, ça fonctionne bien avec select case (le raccourci aussi)
    j'y avais pas pensé!
    j'avais essayé avec 2 boucles mais ça ne fonctionnait pas, les 2 morceaux de codes s'exécutaient!
    j'ai même fait 2 boutons, l'un disparaisant pour laisser apparaitre l'autre, pensant que ça serait plus simple mais j'ai pas réussi non plus (là encore j'ai peut-être pas pensé à un truc simple!)

    en tout cas merci pour le coup de pouce

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut
    je n'arrive pas à appliquer ce principe de select case avec 2 images (un triange pour play, 2 traits verticaux pour pause, original!!)

    comment dois-je m'y prendre?
    faut-il utiliser la propriété BackgroundImage ou Image?

  5. #5
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    je ne sais pas vraiment, je te dis ça ce soir.

  6. #6
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    C'est trés simple.

    Avant tout tu dois ajouter les images de fond de ton bouton (triange et 2 traits verticaux) dans les ressources.
    Pour cela dans ton explorateur de solution tu clic droit sur le nom de ton projet > Ajouter > Composant et dans le fanetre qui s'ouvre double clic sur Fichier de Ressource.
    Un nouvel onglet va s'ouvrir, tu auras un menu déroulant appelé "Ajouter une ressource", déroule le et clic sur "Ajouter un fichier existant" puis tu peux selectioner tes images.

    (il y a surement en moyen plus simpel d'ajouter une ressource mais c'est la seule que je connaisse)

    Pour ce qui est du code il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub evennement bouton click
     
    Select case monbouton.text
    case "PLAY" 'le bouton est PLAY
    monbouton.text = "PAUSE"
    monbouton.image = My.Ressource.monficherderessource.mesdeuxbarrepause
    'ton code
    case "PAUSE" 'le bouton est PAUSE
    monbouton.text = "PLAY"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
    'ton code

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut
    oui mais le problème c'est que j'ai enlevé le texte "PLAY" et "PAUSE" pour avoir juste l'image. Du coup ça peu pas marché.
    J'ai essayé un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select case monbouton.image
    case My.Ressource.monficherderessource.montriangleplay'l'image PLAY
    monbouton.image = My.Ressource.monficherderessource.mesdeuxbarrepause
    ' code play
    case My.Ressource.monficherderessource.mesdeuxbarrepause'l'image PAUSE
    monbouton.text = "PLAY"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
    ' code pause
    mais ça ne fonctionne pas, j'ai une erreur
    L'opérateur '=' n'est pas défini pour les types 'System.Drawing.Image' et 'System.Drawing.Bitmap'.

  8. #8
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    essai en remplaçant "=" par "is"

  9. #9
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Le probleme c'est que le "=" n'apparait pas dans une structure case donc il faudrait plutot faire un if.

    Sinon si tu veux vraiment garder les case tu peux créer une variable initialement à pause avec laquelle tu fais tes test du case et que tu modifie à chaque fois. C'est barbare mais ça fonctionne.

  10. #10
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Pardon, en fait, je me suis trompé, c'est un problème, au niveau des lignes ou tu dis, quelle image assigne.

    d'un certaine manière, il veut une image et tu lui file un bitmap, alors ça va pas, cherche à faire une conversion.

    Genre CType(My.ressources....tonimage, drawing.image)

    enfin, je ne suis pas sur de ce que j'écris.

  11. #11
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Non non je confirme les ligne où l'image est assignée sont correcte je les ai testé.

    C'est dans le Select case monbouton.image
    case My.Ressource.monficherderessource.montriangleplay <-- cette ligne renvoit l'erreur.

    Sinon autre solution, tu peux utiliser la propriété AccessibleDescription de ton bouton.

    Ca donnerait donc ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Select case monbouton.AccessibleDescription
    case "play" 'l'image PLAY
    monbouton.image = My.Ressource.monficherderessource.mesdeuxbarrepause
    monbouton.AccessibleDescription = "pause"
    ' code play
    case "pause" 'l'image PAUSE
    monbouton.AccessibleDescription = "play"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
    'code pause
    case else 'on clic pour la premiere fois sur le bouton
    monbouton.AccessibleDescription = "play"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
    end select
    ' code pause

  12. #12
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Je pense que t'as fait des erreurs, ça devrait plutot etre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Select case monbouton.AccessibleDescription 
    case "play"
    'l'image PLAY 
    monbouton.image = My.Ressource.monficherderessource.mesdeuxbarrepause monbouton.AccessibleDescription = "pause" ' code play 
    case "pause" 
    'l'image PAUSE monbouton.AccessibleDescription = "play"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
     'code pause 
    case else 'on clic pour la premiere fois sur le bouton monbouton.AccessibleDescription = "pause"
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
    'code pause
    end select

  13. #13
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Heu non je ne vois pas où il y a une erreur.

    J'ai moi même testé ce code il fonctionne à merveille.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut
    bien vu la propriété AccessibleDescription !!

    en fait je crois qu'il n'y a pas vraiment d'erreurs dans vos codes, ça dépend juste de ce qu'on veut faire au premier clic!
    si on veut lancer la lecture (le plus logique) alors vos 2 codes sont faux...
    car il faut mettre le même code que le case "play"

    et ceci est vrai uniquement si par défaut la propriété AccessibleDescription est nulle
    par contre si on met "play" par défaut, alors le case else n'est plus utile

    enfin je pense, dite moi si je me trompe

  15. #15
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Points : 124
    Points
    124
    Par défaut
    D'après ce qui a été proposé ton analyse est exact. Si en effet tu cherches à mettre la lecture par défaut (le plus logique je pense), le Case Else est à enlever.

    Sinon en effet si tu ne le définit par défaut les deux codes présents sont faux enfin on va non plus aller aux extrêmes il faut juste mettre ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Select case monbouton.AccessibleDescription 
    case "play"
    'l'image PLAY 
    monbouton.image = My.Ressource.monficherderessource.mesdeuxbarrepause
    monbouton.AccessibleDescription = "pause" ' code play 
    case "pause" 
    'l'image PAUSE 
    monbouton.AccessibleDescription = "play" ' code pause
    monbouton.image = My.Ressource.monficherderessource.montriangleplay
     'code pause 
    case else 'on clic pour la premiere fois sur le bouton monbouton.AccessibleDescription = "pause"
    monbouton.image = My.Ressource.monfichierderessource.mesdeuxbarrespause
    monbouton.AccessibleDescription = "pause"
    'code pause
    end select
    Voilà je pense que grâce à toutes ces aides tu vas pouvoir arriver à tes fins .

  16. #16
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    D'accord juste une différence d'apréciation ^^
    Je pensais que tu voulais que ça soit sur pause par défaut (comme un magnétoscope normal quoi).

    Ca m'a parru plus logique, mais apparement je suis le seul lol (suis-je autre ? :p).

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 24
    Points
    24
    Par défaut
    mon bouton fonctionne à merveille !!!

    à tous

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

Discussions similaires

  1. Bouton play/pause et musique
    Par Rafapouf dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 26/02/2013, 19h58
  2. [CS5] Bouton play / pause swf importé (externe) AS2
    Par slim.bouzrati dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 16/05/2012, 15h31
  3. problème creation bouton play et pause.
    Par kalif51 dans le forum C#
    Réponses: 1
    Dernier message: 07/05/2010, 01h06
  4. [niveau avançé] bouton play pause dans une application complexe
    Par dom_dev dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 31/03/2008, 16h33
  5. [FLASH MX2004] Problème pour faire un bouton play
    Par melanie075 dans le forum Flash
    Réponses: 13
    Dernier message: 16/12/2004, 23h55

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