2017-05-29 84 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

相关问题