博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#实现秒表程序
阅读量:6759 次
发布时间:2019-06-26

本文共 853 字,大约阅读时间需要 2 分钟。

在部分效率测试的项目中,很多时候需要使用到秒表,虽然网上有可用的运行版本,但是加入不了自己的需求,于是就使用C#来写一个。

程序的逻辑很简单,就是使用一个时钟,把时间间隔设置为1。但是当时间间隔小于100毫秒时,再加上程序执行上的耗时,如果使用计数器来统计时间,哪时间就变得很不精确了,为了得到较为精确的计时,我们不使用计数器,而是时钟每次触发时,就使用当前的时间和最初的时间差,即刻度。可以使用Stopwatch类,本程序使用的是取系统的当前时间。

实现片断:

System.Windows.Forms.Timer m_Timer = new Timer();

m_Timer.Interval = 1;

 

在Timer的Tick事件里的实现,使用TimeSpan作为时间刻度:

 

             TimeSpan span = DateTime.Now - m_StartTime;

            DateTime n = new DateTime(span.Ticks);

            lblTime.Text = n.ToString("HH:mm:ss:fff");

 

这样就算Tick的触发不是很准确,但也不影响计算的时间间隔。

 

在程序实现屏幕截图:

            Image img = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

            Graphics g = Graphics.FromImage(img);
            g.CopyFromScreen(new Point(0, 0), new Point(0, 0), img.Size);
            g.Dispose();
            Clipboard.SetDataObject(img, false);

 

其他的细节就不再细述了,使用都自己完成,所以也不上传原码了。

转载于:https://www.cnblogs.com/Yjianyong/archive/2010/07/14/1776964.html

你可能感兴趣的文章
Ubuntu 中的VI和vim
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3) (转)
查看>>
Java
查看>>
HTTP Response Spliting 防范策略研究
查看>>
Libgdx window add alpha action change the background actor alpha
查看>>
(转)过滤器原理
查看>>
JavaScript 触发click事件 兼容FireFox,IE 和 Chrome
查看>>
【英语称谓】软件行业外企称谓简称
查看>>
实现打印级别且带图片的Excel 方案
查看>>
自动化CI构建工具
查看>>
批处理中的变量
查看>>
grub2手动引导ubuntu
查看>>
ORACLE SEQUENCE 介绍
查看>>
发个招聘信息
查看>>
JSEclipse—Eclipse上的JavaScript开发工具
查看>>
【NOIP模拟题】小象涂色(概率+期望+递推)
查看>>
Tomcat全攻略
查看>>
[CB2]start up
查看>>
转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架
查看>>
CodeCounter代码统计
查看>>