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 :

Date et heure actualisé toute les secondes


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Par défaut Date et heure actualisé toute les secondes
    Bonjour à tous,
    je voudrais afficher sur un Label (de mon window form) la date et l'heure qui seraient actualisés à chaque seconde,

    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void label6_Click(object sender, EventArgs e)
            {
                DateTime date1 = DateTime.Now;
                label6.Text = date1.ToString();
     
            } date1.ToString();
    avec cela, c'est en cliquant sur le label6 que ma date et heure sont actualisé.
    merci d'avance

  2. #2
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonsoir
    voila comment faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    System.Windows.Forms.Timer monTimer = new System.Windows.Forms.Timer();
                monTimer.Tick += (sender, eventArgs) => { label6.Text = DateTime.Now.ToString(); };
                monTimer.Interval = 100;
                monTimer.Start();
    tu mets ce code après le InitializeComponents et le tour est joué...

  3. #3
    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 : 44
    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
    Citation Envoyé par sisqo60 Voir le message
    Bonsoir
    voila comment faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    System.Windows.Forms.Timer monTimer = new System.Windows.Forms.Timer();
                monTimer.Tick += (sender, eventArgs) => { label6.Text = DateTime.Now.ToString(); };
                monTimer.Interval = 100;
                monTimer.Start();
    tu mets ce code après le InitializeComponents et le tour est joué...
    Effectivement ça devrait le faire... sauf un petit détail
    Il faut absolument déclarer le timer comme un champ de la classe : si tu le déclares juste en variable locale et que tu ne conserves aucune référence dessus, il finira par être ramassé par le garbage collector et ne fonctionnera plus...

    Le plus simple est encore de le créer via le designer, qui fait ça proprement

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    en étant abonné à l'évent sur une instance non collectable le GC peut ramasser le timer ????
    (bien qu'ici c'est un type d'abonnement qu'on a pas en vb, une méthode anonyme je suppose)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    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 : 44
    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
    Citation Envoyé par Pol63 Voir le message
    en étant abonné à l'évent sur une instance non collectable le GC peut ramasser le timer ????
    (bien qu'ici c'est un type d'abonnement qu'on a pas en vb, une méthode anonyme je suppose)
    L'abonnement à l'évènement fait que le timer a une référence sur l'objet qui contient la méthode anonyme, mais personne n'a de référence sur le timer... donc dès qu'il sort du scope de la méthode, il n'est plus accessible et est donc collectable

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    pourtant il est dit que les abonnements d'évènements peuvent faire des fuites dues à des objets non collectables
    et je viens de tester, avec un gc.collect, le timer tourne toujours (par contre méthode pas anonyme)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Mise à jour d'un champ toutes les secondes
    Par mathilde50 dans le forum Access
    Réponses: 3
    Dernier message: 13/10/2008, 00h14
  2. [Dates] Un message différent toutes les 24 heures
    Par gastoncs dans le forum Langage
    Réponses: 3
    Dernier message: 06/12/2007, 23h46
  3. definition d'une tache qui s'execute toutes les secondes
    Par Mokhtar BEN MESSAOUD dans le forum Administration système
    Réponses: 3
    Dernier message: 07/08/2007, 07h19
  4. Réponses: 2
    Dernier message: 20/04/2007, 12h48
  5. changer la couleur de mon Form1 toutes les secondes
    Par stacker_junior dans le forum C++Builder
    Réponses: 9
    Dernier message: 10/05/2006, 19h36

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