C# Winform 入门(12)之制作简单的倒计时
倒计时效果展示
控件展示
以下均是使用label来形成的
label 的 BorderStyle:Fixed3D ForeColor:Red Blackground:Black
label 的属性 Name:
txtyear txtmonth txtday txttime txtweek
txtDays txtHour txtMintues txtSeconds
修改属性
定义参数
/// <summary>
/// 定义时间参数
/// 用户输入时间;当前时间
/// 日,时,分,秒
/// isClick用来判断点击事件
/// </summary>
DateTime dt, dtNow;
int d, h, m, s;
bool isClick=false;
TimeSpan timespan;
Timer事件
最上层时间显示
private void timer1_Tick(object sender, EventArgs e)
{
dtNow = DateTime.Now;
this.txtyear.Text = dtNow.Year.ToString();
this.txtmonth.Text = dtNow.Month.ToString();
this.txtday.Text = dtNow.Day.ToString();
this.txttime.Text = dtNow.ToLongTimeString();
string week = "";
switch (dtNow.DayOfWeek)
{
case DayOfWeek.Sunday:
week = "日";
break;
case DayOfWeek.Monday:
week = "一";
break;
case DayOfWeek.Tuesday:
week = "二";
break;
case DayOfWeek.Wednesday:
week = "三";
break;
case DayOfWeek.Thursday:
week = "四";
break;
case DayOfWeek.Friday:
week = "五";
break;
case DayOfWeek.Saturday:
week = "六";
break;
default:
break;
}
this.txtweek.Text = week;
}
判断按钮是否点击,显示
if (isClick==false)
return;
timespan = dt - dtNow;
d = timespan.Days;
h = timespan.Hours;
m = timespan.Minutes;
s = timespan.Seconds;
txtDays.Text = d.ToString();
txtHours.Text = h.ToString();
txtMintues.Text = m.ToString();
txtSeconds.Text = s.ToString();
按钮点击事件
private void button1_Click(object sender, EventArgs e)
{
isClick = true;
dt=Convert.ToDateTime(textBox1.Text);
}
代码
/// <summary>
/// 定义时间参数
/// 用户输入时间;当前时间
/// 日,时,分,秒
/// </summary>
DateTime dt, dtNow;
int d, h, m, s;
bool isClick=false;
TimeSpan timespan;
private void timer1_Tick(object sender, EventArgs e)
{
dtNow = DateTime.Now;
this.txtyear.Text = dtNow.Year.ToString();
this.txtmonth.Text = dtNow.Month.ToString();
this.txtday.Text = dtNow.Day.ToString();
this.txttime.Text = dtNow.ToLongTimeString();
string week = "";
switch (dtNow.DayOfWeek)
{
case DayOfWeek.Sunday:
week = "日";
break;
case DayOfWeek.Monday:
week = "一";
break;
case DayOfWeek.Tuesday:
week = "二";
break;
case DayOfWeek.Wednesday:
week = "三";
break;
case DayOfWeek.Thursday:
week = "四";
break;
case DayOfWeek.Friday:
week = "五";
break;
case DayOfWeek.Saturday:
week = "六";
break;
default:
break;
}
this.txtweek.Text = week;
if (isClick==false)
return;
timespan = dt - dtNow;
d = timespan.Days;
h = timespan.Hours;
m = timespan.Minutes;
s = timespan.Seconds;
txtDays.Text = d.ToString();
txtHours.Text = h.ToString();
txtMintues.Text = m.ToString();
txtSeconds.Text = s.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
isClick = true;
dt=Convert.ToDateTime(textBox1.Text);
}