我是我的界面我让用户输入他们可以暂停动作的X分钟数。
如何将其转换为小时,分钟和秒?
我需要它来更新倒计时标签,以向用户显示剩余的时间。
答案 0 :(得分:53)
首先创建TimeSpan,然后将其格式化为您想要的任何格式:
TimeSpan span = TimeSpan.FromMinutes(minutes);
string label = span.ToString(@"hh\:mm\:ss");
答案 1 :(得分:10)
创建新的TimeSpan
:
var pauseDuration = TimeSpan.FromMinutes(minutes);
您现在拥有方便的属性Hours
,Minutes
和Seconds
。我认为他们是不言自明的。
答案 2 :(得分:1)
这应该可以让你在某个地方开始。定时器设置为1000ms。它使用与其他答案相同的想法,但充实了一点。
public partial class Form1 : Form
{
TimeSpan duration;
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
duration = duration.Subtract(TimeSpan.FromSeconds(1)); //Subtract a second and reassign
if (duration.Seconds < 0)
{
timer1.Stop();
return;
}
lblHours.Text = duration.Hours.ToString();
lblMinutes.Text = duration.Minutes.ToString();
lblSeconds.Text = duration.Seconds.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if(!(string.IsNullOrEmpty(textBox1.Text)))
{
int minutes;
bool result = int.TryParse(textBox1.Text, out minutes);
if (result)
{
duration = TimeSpan.FromMinutes(minutes);
timer1.Start();
}
}
}
}