8
votes

Comment afficher le temps mis à jour comme heure système sur une étiquette à l'aide de C #?

Je veux afficher l'heure actuelle sur une étiquette à l'aide de C # mais le temps changera en permanence à titre de changement de temps système. Comment puis-je faire cela?


0 commentaires

7 Réponses :


12
votes

Ajoutez un nouveau contrôle de la minuterie à votre formulaire, appelé Timer1, Définir l'intervalle sur 1000 (MS), puis double-cliquez sur la commande de la minuterie pour modifier le code-derrière pour Timer1_TICK et ajouter ce code:

this.label1.Text = DateTime.Now.ToString();


2 commentaires

Et n'oubliez pas de commencer la minuterie avec timer1.start ();


Bonne prise - ou définissez la propriété activée dans le concepteur à true



8
votes

Ajouter un Minuterie contrôle qui est défini sur le feu une fois que chaque seconde (1000 ms). Dans cette minuterie cocher Événement , vous pouvez mettre à jour votre étiquette avec l'heure actuelle.

Vous pouvez obtenir l'heure actuelle en utilisant quelque chose comme DateTime.now .


0 commentaires

9
votes

Vous pouvez ajouter un contrôle Minuterie strong> et spécifiez-le pour 1000 STRUT> Intervalle milliseconde

  private void timer1_Tick(object sender, EventArgs e)
    {
        lblTime.Text = DateTime.Now.ToString("dd-MMM-yyyy hh:mm:ss tt");
    }


0 commentaires

6
votes

Essayez le code suivant:

private void timer1_Tick(object sender, EventArgs e)
{
    lblTime.Text = DateTime.Now.ToString("hh:mm:ss");
}


0 commentaires

5
votes

Vous devez définir la minuterie pour être activée également, soit dans le code, soit dans la fenêtre Propriétés.

Dans le code, veuillez saisir la section suivante dans la section Charge de formulaire: P>

private void myTimer_Tick(object sender, EventArgs e)
{
    timeLabel.Text = DateTime.Now.ToString("hh:mm:ss");            
}


0 commentaires

0
votes

Étant donné que l'intervalle de minuterie n'est pas exact que votre mise à jour pourrait être en mauvaise synchronisation et dérivera par rapport à la transition réelle des secondes. À certains événements, vous passerez en arrière ou avant la transition et les mises à jour de la transition et des mises à jour de votre temps

au lieu de l'interrogation à haute fréquence pour déclencher la mise à jour au changement des secondes, cette méthode peut vous accorder un respect. P> Si vous aimez les régulateurs, vous pouvez régler votre mise à jour de temps pour être située en toute sécurité 100 ms après la deuxième transition réelle en ajustant la minuterie de 1000 ms à l'aide de la propriété Millisecond de l'horodatage que vous souhaitez afficher. P>

Dans le code d'événement de la minuterie Faites quelque chose comme ceci: P>

//Read time
DateTime time = DateTime.Now;

//Get current ms offset from prefered readout position
int diffms = time.Millisecond-100;

//Set a new timer interval with half the error applied
timer.Interval = 1000 - diffms/2;

//Update your time output here..


0 commentaires

0
votes
private int hr, min, sec;

public Form2()
{
    InitializeComponent();
    hr = DateTime.UtcNow.Hour;
    min = DateTime.UtcNow.Minute;
    sec = DateTime.UtcNow.Second;
}

//Time_tick click
private void timer1_Tick(object sender, EventArgs e)
{
    hr = DateTime.UtcNow.Hour;
    hr = hr + 5;
    min = DateTime.UtcNow.Minute;
    sec = DateTime.UtcNow.Second;

    if (hr > 12)
        hr -= 12;

    if (sec % 2 == 0) 
    {
        label1.Text = +hr + ":" + min + ":" + sec; 
    }
    else
    {
        label1.Text = hr + ":" + min + ":" + sec;
    } 
}

1 commentaires

Les réponses de code que sont considérées comme une mauvaise pratique. Veuillez inclure un claquement d'explication rapide.