2011-02-17 9 views

Odpowiedz

12

Dodaj nowy zegar sterujący do formularza, zwany Timer1, ustawić interwał 1000 (ms), a następnie kliknij dwukrotnie na zegar sterujący do edycji kodu źródłowego dla Timer1_Tick i dodać ten kod:

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

I nie zapomnij uruchomieniem timera z 'Timer1.Start();' –

+0

dobry połów - lub zestaw Enabled właściwość w projektancie True – servermanfail

8

Dodaj kontrolkę Timer ustawioną na uruchamianie co sekundę (1000 ms). W tym zegarze Tick event możesz zaktualizować swoją etykietę bieżącą godziną.

Możesz uzyskać aktualny czas, używając czegoś takiego jak DateTime.Now.

7

można dodać zegar kontrolę i podać go do milisekund interwału

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

Try następujący kod:

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

Musisz ustawić timer być włączona również, albo w kodzie, albo w oknie właściwości.

w kodzie, wpisz następujące polecenie w sekcji obciążenia forma:

myTimer.Enabled = true; 
myTimer.Interval = 1000; 

Po tym, upewnij się, że zdarzenie timer jest podobny do tego:

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

Thanks man ... Tylko Greate –

0

Ponieważ przedział czasowy nie jest Dokładna aktualizacja może być w złej synchronizacji i będzie dryfować w odniesieniu do rzeczywistej zmiany sekund. W niektórych przypadkach będziesz opóźniony w stosunku do lub przed zmianą i przegapisz aktualizacje w swoim czasie wyświetlania Zamiast wysokiej częstotliwości odpytywania, aby uruchomić aktualizację po zmianie sekund, ta metoda może dać ci pewien szacunek.

Jeśli lubisz regulatory, możesz dostosować aktualizację czasu tak, aby była bezpiecznie umieszczona 100 ms po faktycznym drugim przejściu, ustawiając timer 1000 ms za pomocą właściwości Millisecond znacznika czasu, który chcesz wyświetlić.

w zdarzeniu Timer zrobić coś takiego:

//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.. 

Następny przedział czasowy powinien następnie wywołać bliżej do wybranego punktu na 100 ms po przejściu sekund. Kiedy na przejściu + 100 ms błąd zmieni się na +/- utrzymując pozycję na czas.

0
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; 
    } 
} 
+0

Kod odpowiedzi są uważane za biedny praktyka . Dołącz krótką wyjaśnienie. –

Powiązane problemy