标题:我自己说不清错在哪?
只看楼主
一线两电脑
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-7-22
 问题点数:0 回复次数:1 
我自己说不清错在哪?

想设计一个倒计时程序。
运行后:
1.textbox2和Label5不显示内容
2.提示y、z、m没有赋值
我不知道应该如何改,请有志都帮我改一下



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 计时器3例6_13
{
public partial class 计时器3例6_13 : Form
{
uint x; //保存倒计时的剩余总秒数
uint y; //保存倒计时的剩余分数
uint z; //保存倒计时的剩余秒数
string m; //保存倒计时的道总信息,因为他是要显示在标签上,所以用string

public 计时器3例6_13()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}

//激活窗体
private void 计时器3例6_13_Activated(object sender, EventArgs e)
{
textBox3.Focus(); //事件内容:默认鼠标在第三个文本框显示。 事件的产生操作:窗体处于选中状态,单击属性窗口最上边“事件”在事件列表中打到Activated事件,双击些事件,在编程窗口产生事件类,在这里添加事件内容。

}

private void textBox3_KeyPress(object sender, KeyPressEventArgs e) //此事件是点击textbox属性窗口上电图标再双出然“KeyPress”后产生的,功能:激活textBox3控件的KeyPress事件
{
if (e.KeyChar == '\r') //按Enter键则执行下面的代码(倒计时), ‘\r’是回车的转义符,
{
if (textBox3.Text=="") //如果第3文本框是空的
return; // return从页面获取一个值交给相关的变量后退出事件
x = Convert.ToUInt32(textBox3.Text) * 60; //将分钟换算为秒
timer2.Enabled = false ; //第2个计时器终止工作
timer1.Enabled = true; //第1个计时器开始工作
label2.Visible = true ; //显示倒计时结束的标签控件
textBox2.Visible =true ; //显示倒计时结束时间的文本控件
label1.Text = "开始时间"; //更换标签。把上边计时器结束标签更换了现在的当前时间标签

}
}
//双击控件timer2,添加时间2事件代码,事件内容:开始时间
private void timer2_Tick(object sender, EventArgs e)
{
//在第一个文本框textbox1中显示当前的时间。
textBox1.Text = DateTime.Now.Hour.ToString() + ":"
+ DateTime.Now.Minute.ToString()+":"
+ DateTime.Now.Second.ToString();
}

//双击控件timer1,添中时间1事件代码 事件内容:显示倒计时结束时间
private void timer1_Tick(object sender, EventArgs e)
{
// 在textbox2文本框中显示时间
textBox2.Text = DateTime.Now.Hour.ToString() + ":"
+ DateTime.Now.Minute.ToString() + ":"
+ DateTime.Now.Second.ToString(); //这个大句是显示倒计时的小时、分、秒的时间

x--; //倒计时的剩余总秒数减1
y = x / 60; //总秒数换算为分钟数
z = x % 60; //总秒数减去换算分钟的秒数最后剩余的秒数

if (z < 10) //如果秒数少于10秒
m = "剩余时间:" + y + "分0"+ z + "秒"; //10秒以内将时间赋值变量m,m在最上边定义过
else
m ="剩余时间:"+y +"分"+z+"秒"; //10秒以上将时间赋值给变量m
label5.Text = m; //将msg上的时间数值显示在标签5上
if (x == 0) //如果剩余的秒数为0时
{
timer1.Enabled = false; //如果剩余的秒数为0时,timer1事件停止运行
label5.Text += "--时间到!"; //如果剩余秒为0时
}

}

//重新开始事件
private void button1_Click(object sender, EventArgs e)
{
label5.Text = "";
textBox3.Text = "";
textBox3.Focus();
timer2.Enabled = true; //计时器2开始工作
label2.Visible = false ; //隐藏结束的标签控件
textBox2.Visible=false ; //隐藏倒计时结束时间
}
}
}

搜索更多相关主题的帖子: using System 计时器 Drawing Forms 
2007-09-22 19:27
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
得分:0 
记时开始跟结束是用Enable来控制的吗?好象有方法的吧:开始是start(),结束是stop(),其他的我没怎么看

------------------不为别的,就为你,我的理想!-----------------
2007-09-22 19:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-172139-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.418216 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved