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 :

Actualisation d'une form en C#


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Actualisation d'une form en C#
    Bonjour,
    Je suis actuelement entrain de coder un Lecteur Musical en C#
    J'utilise la dll winmm pour la lecture des fichiers musicaux.
    Cependant je me heurte a un probleme depuis quelques jours,
    La trackbar qui affiche la position dans la chanson est cencé etre rafraichi régulierement...
    Or pour le moment g crée une méthode dans ma classe qui positionne corectement le Curseur selon la durée ecoulé de la chanson:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Calcul de la longueur de ma chanson.
    mylecteur.CalculateLength();
    //Calcul la position dans la chanson.
    ulong actuelle_position = mylecteur.Getposition();
    //positionne la trackbar a la bonne valeur
    track_on_track.Value = (int)((actuelle_position * (ulong)1000) / (ulong)mylecteur.Lng);
    Pour le moment l'appel de la fonction contenant ce code se fait lors du clik sur un bouton...
    et j'aimerai que ces quelques lignes soit placé dans une fonction appelée régulierement dans ma form.
    Existe t'il une tel fonction?
    Existe t'il une autre solution?
    Merci beaucoup.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    utilises un Timer pour faire ce rafraichissement périodiquement

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    utilises un Timer pour faire ce rafraichissement périodiquement

    The Monz, Toulouse
    Comment ca un Timer?
    je débute en C#....
    Peut tu m'aiclairer un peu?
    cordialement,

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par lexius Voir le message
    Comment ca un Timer?
    je débute en C#....
    Peut tu m'aiclairer un peu?
    cordialement,
    Plus précisément, c'est la classe System.Windows.Forms.Timer qui te conviendra. Elle est présente dans le designer de forms, et tu trouveras pas mal de doc dans ce forum (et sur la MSDN bien sûr; source privilégiée de connaissances) en cherchant "timer, form".
    ಠ_ಠ

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup,
    J'ai bien résolu mon problem grace a un timer.
    Je copie le code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
     
    static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
     
    private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
    {
         myTimer.Stop();
    }
     
    private void mylooping()
    {
         myTimer.Tick += new EventHandler(TimerEventProcessor);
         myTimer.Interval = 5000;
         myTimer.Start();
         while(true)
         {
              if(mylecteur.isOpen)
              {
                   mylecteur.CalculateLength();
                   ulong actuelle_position = mylecteur.Getposition();
                   track_on_track.Value = (int)((actuelle_position * (ulong)1000) / (ulong)mylecteur.Lng);           
              }
              Application.DoEvents();
         }
    }

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

Discussions similaires

  1. actualisation d une forme automatique
    Par furax51 dans le forum C#
    Réponses: 3
    Dernier message: 27/11/2012, 12h05
  2. actualiser une forms sous oracle forms builder
    Par sanouphil dans le forum Forms
    Réponses: 0
    Dernier message: 23/11/2010, 12h08
  3. Actualisation d'une forme
    Par benito9253 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/10/2009, 21h44
  4. Réponses: 1
    Dernier message: 22/10/2008, 16h14
  5. SOS comment raffraichir/ actualiser une forms
    Par killer69 dans le forum C#
    Réponses: 2
    Dernier message: 11/01/2008, 16h36

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