使用timer控件创建一个简单的报警程序
简介:
当我使用计算机工作时,我总是如此的专心致志,以至于每当我过了“一会儿”去看时间时,发现已经过了三个小时,而我却完全没有意识到!所以我决定使用我从Code Project学来的C#技术,来创建一个简单的应用程序—使用Timer 对象来倒计时一个由我自己设定的时间,并一直循环播放一段wave音乐,直到你重设timer控件。
Timer对象基础
首先你要知道的是,使用Timer对象你需要访问如下命名空间:
接下来,介绍一下创建一个Timer的要点以及为这个timer对象的Elapsed事件设定事件委派。
先创建一个Timer对象,这里我定义我使用的timer为timerClock
。接下来设定Elapsed
事件委派,当事件被触发时,指定的委派将被调用,这里我定义我使用的委派名称为OnTimer()
。
接着,设定Interval
属性,使用毫秒数值指示希望Elapsed
事件被调用的间隔,这意味着,当我定义Interval
属性为1000毫秒时,我定义的委派OnTimer()
将每隔1000毫秒被调用一次,或者说是每隔1秒。
最后,需要设定Enabled
属性为true,以使这个timer对象开始工作。接下来,剩下的只是一个小问题—创建一个委派,在这个timer对象的Elapsed
属性被触发时调用。如果你以前没有使用过委派,不用担心,它们很容易使用,只需要创建一个方法,用来接收适合你捕获事件的一些变量。
针对Elapsed
事件,这个委派需要接收一个普通对象和一个ElapsedEventArgs
对象。
在报警程序中使用Timer控件
好的,介绍了这些基础,现在,我们来看在实际应用中的代码。注意,这里并不包括播放wave音乐和显示最小化图标的代码,完整的代码你可以在那个demo项目中看到,基本上我是直接从jow Blow撰写的《Low level audio players》中粘贴的播放wave的代码。
在下面的代码中,你可以看到,我将实例化Timer对象的方法放在我自己的初始化方法InitializeTimer()
中,这个方法将被类构造调用。并且我创建了两个方法,inputToSeconds()
和secondsToTime()
用来将字符串格式的时间格式转换为正型,以及一个反处理过程。这些方法只是用来帮助我们在TextBox控件中显示日期格式,这在整个应用的结构中,并不十分重要。其他的那些代码,是标准的Visual Studio.NET为Win Form程序生成的样板文件。
代码参考
实际的执行代码比上面的要多,但demo中关于播放wave音频的代码是取自Ianier Munoz关于A low-level audio player in C#一文,顺便一提,Ianier Munoz编写的播放wave的这个类十分便于使用和重用。
总结
这个应用程序演示了timer在实际环境中的一个简单应用,仅仅使用了一些简单的基础知识来创建一个简单的应用,我希望在我之后有人能给出它的更多更好的用法。
http://www.codeproject.com/csharp/timeralarm.asp
转载于:https://www.cnblogs.com/Athrun/archive/2007/07/19/824539.html
使用timer控件创建一个简单的报警程序相关推荐
- C#AE二次开发——使用AE控件创建第一个桌面应用程序
---------------- 版权声明:本文为CSDN博主「人生.蜕变」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...
- 创建一个简单的应用程序窗口,显示“欲穷千里目 更上一层楼”。这一行文字从窗口中向左滚动显示,而且每显示一轮,改变一次颜色,改变一次字体,一个周期为4种颜色,分别为红、绿、黄、蓝,四种字体分别为宋体、楷
创建一个简单的应用程序窗口,显示"欲穷千里目 更上一层楼".这一行文字从窗口中向左滚动显示,而且每显示一轮,改变一次颜色,改变一次字体,一个周期为4种颜色,分别为红.绿.黄.蓝,四 ...
- clistctrl控件最后插入在后面_用图表控件做一个简单的员工信息查询系统
前几天在上课的时候有同学说在做人员的信息查询的时候,经常的要去做查找搜索很麻烦,能不能做一个简单的人员信息查询系统,只需要选择人员的编号就可以查询到这个员工的信息.其实要实现这个同学的需求在EXCEL ...
- 安卓 spinner下拉框 做模糊查询_用图表控件做一个简单的员工信息查询系统
前几天在上课的时候有同学说在做人员的信息查询的时候,经常的要去做查找搜索很麻烦,能不能做一个简单的人员信息查询系统,只需要选择人员的编号就可以查询到这个员工的信息.其实要实现这个同学的需求在EXCEL ...
- 练习1:创建一个简单的银行程序包
练习目标-Java 语言中面向对象的封装性及构造器的使用. 任务 在这个练习里,创建一个简单版本的(账户类)Account类.将这个源文件放入banking程序包中.在创建单个帐户的默认程序包中,已编 ...
- android timer 控件,TimerView 一个解耦良好的计时控件,可自由扩展。 @codeKK Android开源站...
世上本没有解耦,需求改的多了也便有了解耦. -- 产品经理 本例将通过一个计时控件,聊聊如何解耦~ 本TimerView仅作为demo,不保证其健壮性,请勿在实际项目中使用. 特点 UI 容器与计时逻 ...
- 创建一个简单的WCF程序
为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构.对那些对WCF不是很了解的读者来说,这个例 ...
- 我的WCF之旅(1):创建一个简单的WCF程序
http://www.cnblogs.com/artech/archive/2007/02/26/656901.html 为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一 ...
- DIRECTDRAW 1:创建一个简单的DIRECTDRAW程序
步骤 1: 创建一个 DirectDraw 对象 要创建一个 DirectDraw 对象的实例,你的应用程序要象 DDEx1 例程中的 doInit 函数那样先使用 DirectDrawCreate ...
最新文章
- 网页如何调用flash的方法
- WordCount by C# 结对编程
- python matplotlib.pyplot.scatter() 中的cmap参数是什么意思?
- canvas.translate(x,y)
- SAP Spartacus B2B 列表页面的 (i) icon popover Component 的声明位置
- 2002勘察设计收费标准_上海装修设计师的收费标准是什么?
- 利用Javascript判断操作系统的类型
- 计算机语言学翁富良,形式语言与自动机的关系
- 计算机Excel运行环境,Excel Server Tutorial
- win7 flash 提示加载失败
- Virtual Box手动激活OEM版Win7
- c语言小游戏——弹跳的小球和简单的飞机游戏
- java 防篡改_用JAVA写一个简易图片防篡改
- rdkit 力场优化UFFOptimizeMolecule、MMFFOptimizeMolecule;chem3D 3D分子生成;获取分子坐标对象
- 互联网公司校招Java面试题总结及答案——CVTE
- (五十四)Android O WiFi 获取扫描结果流程梳理
- navicat for mysql注册码,各种版本都有
- uc浏览器网盘无限收藏_你很有可能不知道谷歌浏览器上面隐藏着这个小秘密!...
- 搭建基于瓦片的离线地图应用
- 弘辽科技:京东店铺运营技巧分享
热门文章
- 网络知识:说说我们常听说的网络攻击是怎么回事?
- 数据库恢复相关知识笔记
- 5G常见缩略语大全!
- 手机技巧:手机关掉这个开关,一下能省2G内存,再也不怕卡顿死机
- 两个分数化简比怎么化_我学《分数的意义》心得
- html5与跨平台开发,HTML5应用与跨平台应用开发
- python递归迭代_Python入门基础知识点(python迭代器和递归)
- 荒径 弗罗斯特_弗罗斯特庞克,颠覆性城市建设者
- 尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!
- 从Vue.js源码中我学到的几个实用函数