前言
本文是关于一个学习时钟的开发程序,当然还并没有完全的实现。
以下是基于c#的学习计时程序
一、关于此程序的一个初步设想
首先是关于窗体的一个设计,当然只是一些较为简单的设计,并不算特别的花里胡哨的功能,而以我的水平也写不出来这么多的功能来。就仅仅的计时器的功能以及消息弹出框的功能。
二、程序的主要的代码
1.计时代码
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Enabled = false;
this.timer1.Interval = 1;
}
public string AllTime(int time)
{
string hh, mm, ss, fff;
int f = time % 100;
int s = time / 100;
int m = s / 60;
int h = m / 60;
s = s % 60;
if (f < 10)
{
fff = "0" + f.ToString();
}
else
{
fff = f.ToString();
}
if (s < 10)
{
ss = "0" + s.ToString();
}
else
{
ss = s.ToString();
}
if (m < 10)
{
mm = "0" + m.ToString();
}
else
{
mm = m.ToString();
}
if (h < 10)
{
hh = "0" + h.ToString();
}
else
{
hh = h.ToString();
}
return hh + ":" + mm + ":" + ss;
}
private void button1_Click(object sender, EventArgs e)
{
if (timer1.Enabled == false)
{
this.button1.Text = "暂停学习";
this.timer1.Enabled = true;
}
else
{
this.btnOK.Text = "开始学习";
this.timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
t = t + 1;
this.label1.Text = AllTime(t);
}
private void button2_Click(object sender, EventArgs e)
{
t = 0;
if (this.timer1.Enabled == true)
{
this.botten1(sender, e);
MessageBox.Show("本次学习时长" + label1.Text);
}
else
{
if (MessageBox.Show("你确定要重新开始记录吗?", "此操作会清除时间记录", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign, true) == DialogResult.OK)//弹出消息框来确定你的操作
label1.Text = AllTime(t);
}
}
}
}
计时器截图
设想以及后续的优化操作
1.winform来创建一个可以计时计时的窗体,包括button、label、timer等控件。
2.内置代码实现计时功能,两个button实现button1是开始,再次点击暂停 ,button2是停止,再次点击清零,清零之前会有提示框来进行提示操作,
在里面可以选择是确定还是取消。
3.设计窗体,基本的功能:作为一个学习计时应该要有开始的操作然后暂停的操作以及停止后会有一个消息框来进行信息的反馈,当然也可以加入比如离考试
还有多少天这样的倒计时的程序,也在窗体进行一个显示。
4.关于此程序主要功能上面已经进行了很详尽的叙述了,而接下来是如何完成此程序,并且可以把程序可以在服务器端运行,当然我们还可以添加数据库连接
通过数据库来记录下每天的学习时间,并且可以往窗体里添加一个查询的按钮,用户可以通过此来进行对历史记录进行查询。
5.当然以下为个人观点与思维(不代表实际的应用会进行实现):
日期组件可以进行添加,然后数据库里也可以记录下哪一天学习时长;
用户的登录界面,如果需要数据库去记录下每个人哪一天的学习时长,那么就应该把用户做一个区分,在本页面中提供修改密码的操作;
无关紧要的比如切换背景图片和主题的设置;
总结
关于本次c#的计时器的操作我觉得如上已经较为详细,而此计时器可以作为平时学习的辅助作用,记录时间等等当然其中的主要计时代码是借鉴了一下。