在我的界面中,我让用户输入他们可以暂停操作的 X 分钟数。
如何将其转换为小时、分钟和秒?
我需要它来更新倒计时标签以向用户显示剩余时间。
首先创建 TimeSpan,然后将其格式化为您想要的任何格式:
TimeSpan span = TimeSpan.FromMinutes(minutes);
string label = span.ToString(@"hh\:mm\:ss");
创建一个新的TimeSpan
:
var pauseDuration = TimeSpan.FromMinutes(minutes);
您现在有了方便的属性Hours
,Minutes
和Seconds
。我应该认为它们是不言自明的。
这应该给你一个开始的地方。定时器设置为 1000 毫秒。它使用与其他答案相同的想法,但更加充实。
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();
}
}
}
}