using System.Windows.Forms;namespace WindowsApplication1
{
public partial class Form1 : Form
{
int time = 360;
public Form1()
{
InitializeComponent();
label1.Text = "00:00:00";
} private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = !timer1.Enabled;
} private void timer1_Tick(object sender, EventArgs e)
{
time--;
int h = time / 3600;
int m = time / 60;
int s = time % 60;
label1.Text = string.Format("{0}:{1}:{2}",h.ToString(),m.ToString(),s.ToString()); }
}
}这是运行后label1.Text是
0:5:47;但是把time的值给该大点,比如time值是 323360;
运行后label1.Text是
89:5389:59;倒记时到是实现了,可是标准的格式应该是 00:00:00 吧 - -!
这是不是应该加个if判断,
我试了好多办法。就是不行- -! 郁闷咯
{
public partial class Form1 : Form
{
int time = 360;
public Form1()
{
InitializeComponent();
label1.Text = "00:00:00";
} private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = !timer1.Enabled;
} private void timer1_Tick(object sender, EventArgs e)
{
time--;
int h = time / 3600;
int m = time / 60;
int s = time % 60;
label1.Text = string.Format("{0}:{1}:{2}",h.ToString(),m.ToString(),s.ToString()); }
}
}这是运行后label1.Text是
0:5:47;但是把time的值给该大点,比如time值是 323360;
运行后label1.Text是
89:5389:59;倒记时到是实现了,可是标准的格式应该是 00:00:00 吧 - -!
这是不是应该加个if判断,
我试了好多办法。就是不行- -! 郁闷咯
int h = time / 3600;
int m = time / 60;
int s = time % 60;
这个地方你用的是秒把!错了!
改下就好了!
string minute = ((time % 3600) / 60).ToString().PadLeft(2, '0');
string second = ((time % 3600) % 60).ToString().PadLeft(2, '0');
label1.Text = string.Format("{0}:{1}:{2}",hour.ToString(),minute.ToString(),second.ToString());
我改过秒了,不是问的这个问题
timer1.Interval = 1000;
h = ts.Hours;
m = ts.Minutes;
s = ts.Seconds;
用TimeSpan();具体属性好象不对,看看帮助就行了.
能说下PadLeft();的作用吗?
int m = time / 60;
int s = time % 60;
你这个算法有问题吧.
应该是.
m = time/60 - h*60
{
int time = 323360; public Form1()
{
InitializeComponent();
label1.Text = "00:00:00"; } private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = !timer1.Enabled; } private void timer1_Tick(object sender, EventArgs e)
{
time--;
int h = time / 3600;
int m = (time-h*3600) / 60;
int s = time % 60;
string hour=h.ToString();
string minute=m.ToString();
string second=s.ToString();
if (hour.Length ==1)
{
hour = "0" + h.ToString();
}
if(minute.Length==1)
{
minute ="0" + m.ToString();
}
if (second.Length== 1)
{
second = "0" + s.ToString();
}
label1.Text = string.Format("{0}:{1}:{2}", hour, minute, second); }
}
public partial class Form1 : Form
{
int time = 323360; public Form1()
{
InitializeComponent();
label1.Text = "00:00:00"; } private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = !timer1.Enabled; } private void timer1_Tick(object sender, EventArgs e)
{
time--;
int h = time / 3600;
int m = (time-h*3600) / 60;
int s = time % 60;
string hour=h.ToString();
string minute=m.ToString();
string second=s.ToString();
if (hour.Length ==1)
{
hour = "0" + h.ToString();
}
if(minute.Length==1)
{
minute ="0" + m.ToString();
}
if (second.Length== 1)
{
second = "0" + s.ToString();
}
label1.Text = string.Format("{0}:{1}:{2}", hour, minute, second); }
}
public partial class Form1 : Form
{
int time = 323360; public Form1()
{
InitializeComponent();
label1.Text = "00:00:00"; } private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = !timer1.Enabled; } private void timer1_Tick(object sender, EventArgs e)
{
time--;
int h = time / 3600;
int m = (time-h*3600) / 60;
int s = time % 60;
label1.Text = string.Format("{0}:{1}:{2}", h.ToString().PadLeft(2, '0'), m.ToString().PadLeft(2, '0'), s.ToString().PadLeft(2, '0')); }
}
右对齐此实例中的字符,在左边用空格填充以达到指定的总长度。