2017-05-29 80 views
-2
private void timer_click1(object sender, RoutedEventArgs e) 
{ 
    seconds = seconds - 1; 
    if (seconds == -1) 
    { 
     minutes = minutes - 1; 
     seconds = 59; 
    } 
    if (minutes == -1) 
    { 
     hours = hours - 1; 
     minutes = 59; 
    } 
    if (hours == 0 && minutes == 0 && seconds == 0) 
    { 
     timer.Stop(); 
    } 
    string hhr = Convert.ToString(hours); 
    string minns = Convert.ToString(minutes); 
    string seccs = Convert.ToString(seconds); 
} 

我正在嘗試創建一個倒數計時器。我被hhr,minns和seccs卡住了,因爲我不得不在一個標籤中顯示倒計時。我如何將這三個文本傳遞爲hrr:minns:seccs?如何在一個標籤中顯示三個文本框的時間?

+0

這【答案】(https://stackoverflow.com/a/5619823/5513005)可以幫助您在使用 –

+0

**字符串格式**或**使用** system.timespan VAR –

+0

結果= string.Format(「{0} {1} {2}」,小時,分鐘,秒econds); – live2

回答

1

可能有更好的方法來獲得剩餘的時間,但這裏是你如何可以使用string.Format方法單一string顯示所有三個組成部分:

private void timer_click1(object sender, RoutedEventArgs e) 
{ 
    seconds = seconds - 1; 
    if (seconds == -1) 
    { 
     minutes = minutes - 1; 
     seconds = 59; 
    } 
    if (minutes == -1) 
    { 
     hours = hours - 1; 
     minutes = 59; 
    } 
    if (hours == 0 && minutes == 0 && seconds == 0) 
    { 
     timer.Stop(); 
    } 
    string hhr = Convert.ToString(hours); 
    string minns = Convert.ToString(minutes); 
    string seccs = Convert.ToString(seconds); 

    string s = string.Format("{0}:{1}:{2}", hhr, minns, seccs); 
    lbl.Text = s; 
} 

在C#6 +它甚至eaiser:

string s = $"{hhr}:{minns}:{seccs}"; 
+0

我認爲你的解決方案是完美的,但問題是「RoutedEventArgs」。它應該是EventArgs。其餘部分是一樣的 – moalbait

+0

EventArgs是Windows窗體。 RoutedEventArgs是WPF,並標記了問題WPF。 – mm8

相關問題