c#实现秒表功能

1.c#是啥就不要我讲了吧!
度娘给力这么长一段,我们暂且不管他,直接去我们今天的主题做一个计时器。

C#是微软公司发布的一种面向对象的、运行.net Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

2.要用到的的东西

  • 不是太垃圾的电脑一台
  • vs各个版本均可
  • 有一个热爱编程的心

3.开始编写代码之前
一定要养成编代码前先思考构思的好习惯,这样编写过程中思路清晰流畅。
在这里呢我准备采用windowform进行制作,需要用到三个控件他们分别是lable控件用来存放计时。button控件一个用来进行开始停止计时另外一个用来清空计时器。人性化体现在我们进行窗体关闭的时候能够进行提醒。

  • lable控件 存放时间

  • timer控件 计时

  • button控件 实现人机交互

  • button点击事件

  • timer的tick事件

  • 窗体的关闭事件

4.开始编写代码

  • 1如图进行窗体布局,lable的text属性为00:00:00.00
    在这里插入图片描述
  • 2拖入timer控件将enable改为false 间隔改为10,具体原理不再解释很简单。
 public int t = 0;
        string hh, mm, ss, ms;
        public string outformat(int t)//自定义类用来提供给我们自己想要的字符串格式,以及时间的代还运算
        {
            
            int temp = t / 100;
            int mms = t % 100;
            int h = temp/ 3600;
            int m = temp / 60 % 60;
            int s = temp % 60;

            if (h < 10) hh = "0" + h.ToString(); else hh=h.ToString();
            if (m < 10) mm = "0" + m.ToString(); else mm = m.ToString();
            if (s < 10) ss = "0" + s.ToString(); else ss = s.ToString();
            if (mms < 10) ms = "0" + mms.ToString(); else ms = mms.ToString();

            return hh + ":" + mm + ":" + ss + "." + ms;
        }


        private void timer1_Tick(object sender, EventArgs e)
        {
            t++;

            label1.Text = outformat(t);
        }

        private void button1_Click(object sender, EventArgs e)
        {

            if (timer1.Enabled == false)
            {
                timer1.Enabled = true;
                timer1.Start();
                button1.Text = "停止计时";

                MessageBox.Show("您总共用时:"+hh+"时"+mm+"分"+ss+"秒"+ms+"毫秒","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            else
            {
                button1.Text = "开始计时";
                timer1.Stop();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            label1.Text = "00:00:00.00";
        }
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
namespace StopWatch { public partial class Form2 : Form { DateTime examtime; DateTime nowtime; DateTime t = DateTime.Now; int add = 0; public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { timer1.Enabled = false; examtime = new DateTime(1, 1, 1, 0,0, 0); labTime.Text = "0" + examtime.ToLongTimeString(); if (t.Hour < 10) labT.Text = "0" + DateTime.Now.ToLongTimeString(); else labT.Text = DateTime.Now.ToLongTimeString(); } private void button2_Click(object sender, EventArgs e) { if (add < 1 ) { starttime(); } else { MessageBox.Show("记录已满,请清除记录后再开始记录!"); } } private void button1_Click(object sender, EventArgs e) { if (timer1.Enabled != false) { Add(); } if (add >= 5) { MessageBox.Show("对不起!最多只能记录4条!!"); timer1.Enabled = false; } } private void button3_Click(object sender, EventArgs e) { ClearTime(); add = 0 - 1; Add(); stoptime(); } private void button4_Click(object sender, EventArgs e) { Application.Exit(); } private void timer1_Tick(object sender, EventArgs e) { examtime = examtime.AddSeconds(1); if (examtime.Hour < 10) labTime.Text = "0" + examtime.ToLongTimeString(); else labTime.Text = examtime.ToLongTimeString(); } private void timer2_Tick(object sender, EventArgs e) { if(t.Hour<10) labT.Text = "0"+DateTime.Now.ToLongTimeString(); else labT.Text = DateTime.Now.ToLongTimeString();nowtime = nowtime.AddSeconds(1); } private void Add() { add = add + 1; switch (add) { case 1: textBox1.Text = "0" + examtime.ToLongTimeString(); timer1.Enabled = true; break; case 2: textBox2.Text = "0" + examtime.ToLongTimeString(); timer1.Enabled = true; break; case 3: textBox3.Text = "0" + examtime.ToLongTimeString(); timer1.Enabled = true; break; case 4: textBox4.Text = "0" + examtime.ToLongTimeString(); Program.hash.add(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text); timer1.Enabled = true; timer1.Enabled = false; break; case 5: default: break; } } private void ClearTime() { examtime = new DateTime(1, 1, 1, 0, 0, 0); labTime.Text = "0" + examtime.ToLongTimeString(); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); textBox1.Text = "0" + examtime.ToLongTimeString(); textBox2.Text = "0" + examtime.ToLongTimeString(); textBox3.Text = "0" + examtime.ToLongTimeString(); textBox4.Text = "0" + examtime.ToLongTimeString(); timer1.Enabled = false; } private void starttime() { timer1.Enabled = true; } private void stoptime() { timer1.Enabled = false; } private void textBox1_TextChanged(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void textBox3_TextChanged(object sender, EventArgs e) { } private void textBox4_TextChanged(object sender, EventArgs e) { } private void pictureBox1_Click(object sender, EventArgs e) { } private void textBox5_TextChanged(object sender, EventArgs e) { } private void labTime_Click(object sender, EventArgs e) { } private void timeshow_Click(object sender, EventArgs e) { Form3 frm = new Form3(); frm.Show(); } } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caofuqiang_521

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值