秒表的设计

namespace WindowsFormsApplication1
{
    public partial class Stopwatch : Form
    {
        /// <summary>
        /// 定义变量
        /// </summary>
        int record_index = 1;//定义record-index变量为1
        private DateTime startTime;

        public Stopwatch()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 为窗体FormSW的Load事件增加事件处理程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormSW_Load(object sender, EventArgs e)
        {
            this.tmrStopWatch.Interval = 50;//每隔0.05秒触发一个计时器事件
            this.tmrStopWatch.Enabled = false;//计时器停止工作
        }
        /// <summary>
        ///  每0.05秒钟更新一次当前时间,由Timer控件的Tick事件完成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tmrStopWatch_Tick(object sender, EventArgs e)
        {
            TimeSpan diff = DateTime.Now - startTime;//当前时间减去开始的时间得到的时间差
            DateTime show_time = new DateTime(diff.Ticks);//将时间差显示出来
            lblStopWatch.Text = show_time.ToString("HH : mm : ss : fff");//将时间差显示到标签文本中
        }
        /// <summary>
        /// 响应控件btnBegin事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBegin_Click(object sender, EventArgs e)
        {
            if (btnBegin.Text == "开始")
            {
                startTime = DateTime.Now;//将现在的时间付给开始的时间
                tmrStopWatch.Start();//计时器开始工作
                btnBegin.Text = "停止";
            }
            else
            {
                if (btnBegin.Text == "停止")
                {
                    tmrStopWatch.Stop();
                    btnBegin.Text = "继续";
                }
                else
                {
                    tmrStopWatch.Start();
                    btnBegin.Text = "停止";
                }
            }
        }
        private void btnZero_Click(object sender, EventArgs e)
        {
            if (tmrStopWatch.Enabled)
            {
                tmrStopWatch.Stop();
            }
            System.DateTime TimeP = new System.DateTime(0);//系统时间从零开始
            lblStopWatch.Text = TimeP.ToString("HH : mm : ss : fff");//将时间显示到lblStopWatch标签框中
            btnBegin.Text = "开始";

        }
        /// <summary>
        /// 响应控件btnRecord事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRecord_Click(object sender, EventArgs e)
        {
            if (record_index == 1)
            {
                textBox1.Text = lblStopWatch.Text;
            }
            else if (record_index == 2)
            {
                textBox2.Text = lblStopWatch.Text;
            }
            else if (record_index == 3)
            {
                textBox3.Text = lblStopWatch.Text;
            }
            else if (record_index == 4)
            {
                textBox4.Text = lblStopWatch.Text;
            }

            record_index++;//变量叠加
            if (record_index == 5)//假设record为5,则返回为1
            {
                record_index = 1;
            }
        }
    }
}在这个小的应用程序中,我学会的是如何刷新定时器得到时间差。这是一个时间片段。如下:

TimeSpan diff = DateTime.Now - startTime;//当前时间减去开始的时间得到的时间差
DateTime show_time = new DateTime(diff.Ticks);//将时间差显示出来
lblStopWatch.Text = show_time.ToString("HH : mm : ss : fff");//将时间差显示到标签文本中

在time控件Tick事件里响应出来。

以及如何定义变量实现循环。

时间: 2024-08-16 11:22:46

秒表的设计的相关文章

简单的秒表定时器

思路: 1.分别添加秒表中的上部分,样式如 00 :00 : 00 . 00,分别表示时,分,秒,毫秒一共用7个labe实现 2.设置按钮,分别是开始,停止,复位 3,通过字符串转换成数字,和数字转换成字符串来进行秒表的设计 1 #import "ViewController.h" 2 3 #import "UIView+FrameExtension.h" 4 7 #define kDeviceWidth [UIScreen mainScreen].bounds.s

基于FPGA的数字秒表设计

硬件平台:DE2-115 软件环境:Quartus II 15.1 采样了较为简单的计数方法,详细代码就不讲解了,分为三个模块,一个是计数模块 count.v,一个是显示模块 disp.v,还有一个是顶层模块 miaobiao.v.有清零按键和暂停拨码开关. 顶层模块: 1 module miaobiao( 2 clk, 3 rst_n, 4 pause, 5 6 Hex0, 7 Hex1, 8 Hex2, 9 Hex3, 10 Hex4, 11 Hex5, 12 ); 13 14 input

FPGA设计经验谈

从大学时代第一次接触FPGA至今已有10多年的时间.至今记得当初第一次在EDA实验平台上完成数字秒表,抢答器,密码锁等实验时,那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的.后来读研究生,工作陆陆续续也用过Quartus II,Foundation,ISE,Libero,并且学习了verilogHDL语言,学习的过程中也慢慢体会到verilog的妙用,原来一小段语言就能完成复杂的原理图设计,而且语言的移植性可操作性比原理

简易数字钟设计

简易数字钟设计 一.摘要 信息时代,时间观念深入人心,所以掌握数字钟的设计具有一定的时代意义,并且使用Multisim进行分立元件设计数字钟,可以大大提升个人数字电路的素养. 设计思路是从上至下,先进行数字钟整体框架的设计,考虑各个子芯片的预留端口,再逐个设计各个子电路模块.最终完成了时钟显示,调时,闹钟,定点报时以及万年历的功能.并且总的控制点预留了新功能的接入口,这样子就可以十分方便的进行新功能的加入. 目录 简易数字钟设计... 1 一.摘要... 1 二.前期准备... 2 1.数电知识

Qt学习之秒表的实现(StopWatch) (转)

秒表对于我来说并不陌生,在之前自己学习单片机时,实现过秒表和数字钟:基本思路:开启单片机带的定时器,并设置它没10ms溢出一次,分别用三个变量hour,minute,secong记录秒表的时分秒,然后每0.5s刷新一次显示函数,这样最基本的秒表的基本功能就实现了:当然,在Qt里面设计一个秒表也可以用相似的方法就行实现. 由于嵌入式实验要用Qt做个俄罗斯方块游戏,想在游戏中加个模块(游戏的时间):因此才有了设计秒表的想法.在此,想把秒表封装成类模块,提供三个接口:启动秒表,暂停秒表,复位秒表. 1

AC620教程 第十五节 8位7段数码管驱动设计与验证

本章导读 电子系统中常用的显示设备有数码管.LCD液晶以及VGA显示器等.其中数码管又可分为段式显示(7段.米字型等)以及点阵显示(8*8.16*16等),LCD液晶的应用可以分为字符式液晶(1602.12864等)以及真彩液晶屏,VGA显示器一般是现在的电脑显示器.芯航线开发板对以上三种设备均提供了硬件接口. 本章将实现FPGA驱动数码管动态显示并提取出实现的电路结构,从电路结构入手编写代码,仿真对设计进行验证.最终板级调试时使用In system sources and probes edi

你会如何为失明的人设计一款钟表?(大众点评-2014)

(1)钟表的基本功能是什么 钟表的功能系统如下图: 1)必备功能.包括实时时分显示.时间完整. 2)一级附加功能.包括整点报时.显示年月日.显示星期.调整年月日和星期的显示. 3)二级附加功能.包括闹钟功能.秒表/计时功能. 分析结论:考虑到盲人的实际情况,信息展示相对比较困难,钟表应该覆盖"必备功能"和"一级附加功能",而"二级附加功能"暂时考虑放弃. (2)失明人有何特点 1)最大的特点:双目失明,无法使用视觉查看时间点.使用整个闹钟不需要屏

51单片机基于I2C总线的秒表模拟应用

-------------------------------------------- 参考地址: http://blog.csdn.net/junyeer/article/details/46480863 http://blog.csdn.net/bob_fly1984/article/details/22690381 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SYN5307型数字式电秒表

SYN5307型数字式电秒表 产品概述 SYN5307型数字式电秒表是由西安同步电子科技有限公司精心设计生产的一款多功能,高精度电秒表.该仪器采用高精度石英晶振作为测量基准,测量准确度高于一般的电秒表,具有外形美观,集成度高,性能稳定和使用方便等特点,是各类电秒表更新换代的最佳选择. 该电秒表采用电路强抗干扰设计,在工业等强干扰环境下可稳定可靠运行,广泛应用于各种精密继电器.延时继电和延时器测试,计量检测部门.工业自动化控制.通讯.信号和继电器制造.电力继保.国防.科研系统等时间测量领域. 产品