vb6.0时间控件timer详解
通过引发Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
语法
Timer
说明
Timer 控件用于背景进程中,它是不可见的
************************以下是他的属性****************
Enabled 属性
返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。
语法
object.Enabled [= boolean]
Enabled 属性的语法包含下面部分:
部分描述
object 对象表达式,其值是“应用于”列表中的一个对象。如果object 被省略,则与活动窗体模块相联系的窗体被认为是object。
boolean 一个用来指定object 是否能够对用户产生的事件作出反应的布尔表达式。
设置
boolean 的设置为:
设置描述
True (缺省)允许object 对事件作出反应。
False 阻止object 对事件作出反应。
Enabled 属性示例
该例子使一个CommandButton 控件有效而不管TextBox 控件是否包含文本。要试用此例,先将下面的代码粘贴到带有CommandButton 和TextBox 控件的一个窗体的声明部分,然后按下F5 键并在文本框中随意输入一些内容。
Private Sub Form_Load ()
Text1.Text = "" ' 清除文本框的内容。
Command1.Caption = "Save" ' 在按钮上放置标题。
End Sub
Private Sub Text1_Change ()
If Text1.Text = "" Then '查看文本框是否为空。
Command1.Enabled = False '使按钮无效。
Else
Command1.Enabled = True '使按钮有效。
End If
End Sub
Interval 属性
返回或设置对Timer 控件的计时事件各调用间的毫秒数。
语法
object.Interval [= milliseconds]
Interval 属性语法有以下组成部分:
部分描述
object 对象表达式,其值是“应用于”列表中的一个对象。
milliseconds 数值表达式,指定毫秒数,“设置值”中有详细说明,。
设置值
milliseconds 的设置值为:
设置值描述
0 (缺省值)使Timer 控件无效。
1 to 65,535 设置的时间间隔(以毫秒计),在Timer 控件Enabled 属性设置为True 时开始有效,例如,10,000 毫秒等于10 秒。最大值为65,535 毫秒,等于1 分钟多一些。
说明
可以在设计时或在运行时设置Timer 控件的Interval 属性。使用Interval 属性时,请记住:
Timer 控件的Enabled 属性决定该控件是否对时间的推移做响应。将Enabled 设置为False 会关闭Timer 控件,设置为True 则打开它。当Timer 控件置为有效时,倒计时总是从其Interval 属性的设置值开始。
创建Timer 事件程序用以告诉Visual Basic 在每次Interval 到时该做什么。
Interval 属性示例
这个例子可以调整窗体切换颜色的速度。要尝试这个例子,请将代码粘贴到包含Timer 控件、HScrollBar 控件(水平滚动条)和PictureBox 控件的窗体的声明部分,然后按F5 键并单击滚动条。
Private Sub Form_Load ()
Timer1.Interval = 900 ' 设置时间间隔。
HScroll1.Min = 100 ' 设置最小值。
HScroll1.Max = 900 ' 设置最大值。
End Sub
Private Sub HScroll1_Change ()
' 根据滚动条的数值设置时间间隔。
Timer1.Interval = 1000 - HScroll1.Value
End Sub
Private Sub Timer1_Timer ()
' 在红色和蓝色之间切换背景色。
If Picture1.BackColor = RGB(255, 0, 0) Then
Picture1.BackColor = RGB(0, 0, 255)
Else
Picture1.BackColor = RGB(255, 0, 0)
End If
End Sub
https://www.sodocs.net/doc/1311563939.html, AJAX入门系列:Timer控件简单使用 本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下https://www.sodocs.net/doc/1311563939.html, AJAX中的服务端Timer控件的简单使用。 主要内容 Timer控件的简单使用 1.添加新页面并切换到设计视图。 2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中。 3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中。
4.在UpdatePanel控件内单击并双击Timer控件添加到UpdatePanel中。Timer控件可以作为UpdatePanel的触发器不管是否在UpdatePanel中。 5.设置Interval属性为10000。Interval属性的单位是毫秒,所以我们设置为10000,相当于10秒钟刷新一次。 6.在UpdatePanel控件中添加一个Label控件。
7.设置Label控件的Text属性为“Panel not refreshed yet ”。确保Label控件添加在了UpdatePanel控件里面。 8.在UpdatePanel之外再添加一个Label控件。确保第二个Label控件在UpdatePanel的外面。 9.双击Timer控件添加Tick事件处理,在事件处理中设置Label1的Text属性为当前时间。 protected void Timer1_Tick(object sender, EventArgs e)
{ Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString(); } 10.在Page_Load事件中添加代码设置Label2的Text属性为页面创建时间,如下代码所示: protected void Page_Load(object sender, EventArgs e) { Label2.Text = "Page created at: " + DateTime.Now.ToLongTimeString(); } 11.切换到代码视图,确保代码如下所示: protected void Page_Load(object sender, EventArgs e) { Label2.Text = "Page created at: " + DateTime.Now.ToLongTimeString(); } protected void Timer1_Tick(object sender, EventArgs e) { Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString(); } 12.保存并按Ctrl + F5运行 13.等待10秒钟后可以看到Panel刷新,里面的Label文字改变为刷新的时间而外面的Label没有改变。
计时器控件在VB中的应用 计时器控件在工具箱中的名称是Timer,该控件是一个非可视控件,即在运行时不可见,用于实现每隔一定时间间隔执行指定的操作。Timer控件对于其他后台处理也是非常有用的。本文用实例来介绍在VB程序中利用计时器控件,实现在程序在启动运行期间各种不同的效果。下面给出编程设计过程,供读者参考选用。 一、计时器(Timer)控件与标签(Label)控件的应用 1、启动VB,新建工程。在工程中添加一个窗体Form1,在窗体上加入一个Timer 计时器控件Timer1和标签控件Label1 2、编写相应的代码,实现不同的功能 (1)字体颜色发生随机变化的效果,计时器事件(Timer)代码如下: l 窗体Form1的加载事件代码 Private Sub Form_Load() Timer1.interval=500 Label1.Caption = “欢迎进入VB应用程序” Label1.font.size=20 Label1.autosize=true End Sub l 计时器(Timer1)控件的Timer事件代码 Private Sub Timer1_Timer() Label1.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) End Sub (2)依次出现字幕的实现效果,相关事件代码如下: Dim i …在通用-声明中定义变量… Private Sub Timer1_Timer() i = i + 1 Label1.Caption = Left(“欢迎进入VB应用程序”, i) If i > 10 Then i = 0 End If End Sub (3)滚动字幕的实现效果,相关事件代码如下: l 窗体Form1的加载事件代码 Private Sub Form_Load() Label1.Caption = “欢迎进入VB应用程序” End Sub l 计时器(Timer1)控件的Timer事件代码 Private Sub Timer1_Timer() If Label1.Left <= Form1.Width Then Label1.Left = Label1.Left + 100 Else Label1.Left = -Label1.Width End If End Sub (4)制作字体闪烁的效果
实验三-2 timer定时器(中断方式) 【实验目的】 1、学习LPC1768处理器timer定时器(中断方式)的功能原理; 2、掌握定时器功能设置及使用方法。 【实验要求】 1、了解LPC1768处理器timer定时器(中断方式)的功能原理。 【实验原理】 一、LPC系列处理器定时器的原理 参见课本P106中有关定时器的章节,重点要掌握定时器工作原理、定时器寄存器设置和定时器中断的工作方法等。 二、实验板上的定时器 1.LPC1700嵌入式处理器具有4个32位可编程定时/计数器,除了外设基址之外操作完全相同。 2. 定时/计数器对外设时钟(PCLK)周期或外部时钟进行计数,可选择产生中断或根据匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。 3. 中断方式使用定时器: 在这种方式下定时器与处理器可以并行工作,等计数完成定时器通过中断通知处理器转而执行中断服务程序。这样的使用方式可以提高系统的效率。 程序首先要初始化使用的定时器,init_timer()函数执行内容包括设置定时器的匹配寄存器MRn和匹配控制寄存器MCRn,还有安装定时器中断服务函数等。该函数有两个参数:timer_num为初始化定时器序号,TimerInterval为Fpclk周期数也即定时器中断间隔时间。 三、程序说明 1.SystemInit(): 系统初始化,包括系统时钟设置等。 2. init_timer ( uint8_t timer_num, uint32_t TimerInterval ): 根据不同定时器编号设置定时器相关寄存器以及安装中断服务程序。 3. enable_timer( uint8_t timer_num ): 定时器使能,本实验中使用定时器0,因此参数timer_num设置为0。 4. TIMER0_IRQHandler (void):
教学课题第7 课遮罩动画 所用教材 人民教育出版社出版《信息技术》九年级全一 册教学 用具 媒体设 备,课 本, 教学目标 知识 目标 学会使用vb中的时间函数。 学会使用vb 中的定时器控件和设置它的属性 能力 目标 能会使用时间函数和定时器控件编写简单程序。 情感 目标 启发学生对程序的感兴趣,在有趣中不知不觉地学会合作学习 能力。 重点学会使用定时器控件和时间函数。 难点编写定时器控件的的代码 教学 方法 “创设情境法”、“任务驱动法”,“实例演示法”、等。
教学过程 环节教师活动学生活动新课导入 老师让学生观察各种各样的显示时间的图片. 问: 同学们这些画面你们在平时见过没有? 对, 这是显示日期和时间的牌子现在到处都有, 你们看一看连我们用的电脑右下角也有. 今天我们使用VB的时间和日期函数要学很有技术性的知识. 学生纷纷回答. 自由讨论,互相交流 学生观看并提出问题. 教学过程 环节教师活动学生活动 启动[显示日期和时间]程序,可以看到窗体中显示的不断变化的当前时间和日期. 学生观看窗体,提出 问题
讲 授新课及内容 教师布置上机的任务: 任务1.设计程序界面并设置对象的属性.老师观 察学生的操作过程并引导学生. 老师和学生一起总结,对窗体设计并设置对象 属性. 按照老师的操作要 求自己操作。自主探 究和互相交流完成 任务. 1. 设计程序界面并设置对象的属性 1.)启动vb ,创建一个新的EXE标准工程。 2.)设计窗体界面。 3.)设置对象的属性 学生和对自己做得 操作步聚并发现小 问题及时改正. 2. 编写代码 窗体的(form)装载(load)事件编写时间函数, 实现程序启动时候显示时间。 打开代码窗口为窗体的load 事件编写代码。 代码为:private sub form_load() Lbltime.caption=time Lbldate .caption=date End sub 3.为退出按钮写代码 private sub cmd_click End 学生自习观察老师 的操作步聚, 准备自 己动手操作.
STM32F4系列共有14个定时器,功能很强大。14个定时器分别为: 2个高级定时器:Timer1和Timer8 10个通用定时器:Timer2~timer5 和 timer9~timer14 2个基本定时器: timer6和timer7 本篇欲以通用定时器timer3为例,详细介绍定时器的各个方面,并对其PWM 功能做彻底的探讨。 Timer3是一个16位的定时器,有四个独立通道,分别对应着PA6 PA7 PB0 PB1 主要功能是:1输入捕获——测量脉冲长度。 2 输出波形——PWM 输出和单脉冲输出。 Timer3有4个时钟源: 1:内部时钟(CK_INT ),来自RCC 的TIMxCLK 2:外部时钟模式1:外部输入TI1FP1与TI2FP2 3:外部时钟模式2:外部触发输入TIMx_ETR ,仅适用于TIM2、TIM3、TIM4,TIM3,对应 着PD2引脚 4:内部触发输入:一个定时器触发另一个定时器。 时钟源可以通过TIMx_SMCR 相关位进行设置。这里我们使用内部时钟。 定时器挂在高速外设时钟APB1或低速外设时钟APB2上,时钟不超过内部高速时钟HCLK ,故当APBx_Prescaler 不为1时,定时器时钟为其2倍,当为1时,为了不超过HCLK ,定时器时钟等于HCLK 。 例如:我们一般配置系统时钟SYSCLK 为168MHz ,内部高速时钟 AHB=168Mhz ,APB1欲分频为4,(因为APB1最高时钟为42Mhz ),那么挂在APB1总线上的timer3时钟为84Mhz 。 《STM32F4xx 中文参考手册》的424~443页列出与通用定时器相关的寄存器一共20个, 以下列出与Timer3相关的寄存器及重要寄存器的简单介绍。 1 TIM3 控制寄存器 1 (TIM3_CR1) SYSCLK(最高 AHB_Prescaler APBx_Prescaler
iFix定时器控件使用心得 iFix的定时器控件,经常会把初学者搞得头晕脑涨,我说说自己的心得,供大家参考。 该控件是基于调度功能的,所以有一些用法和其它编程平台(如VB)里的定时器不太一样。 一、定时器的启动/停止 如果在编辑时TimerEnabled设为True,则运行时定时器会自动启动。如果在编辑时TimerEnabled设为False,则运行时需要先将TimerEnabled设为True,然后调用StartTimer方法。如果只将TimerEnabled设为True,但是不调用StartTimer 方法,定时器是不会开始工作的。如果要停止定时器,可以调用StopTimer方法,也可以直接将TimerEnabled设为False。也就是说有两种控制定时器启/停的方式: 方式一: 用如下代码启动:Timer1. TimerEnabled=True Timer1. StartTimer 用如下代码停止:Timer1. TimerEnabled=False 方式2: 在画面或调度的Initializes事件中加入:Timer1. TimerEnabled=True 用如下代码启动:Timer1. StartTimer 用如下代码停止:Timer1. StopTimer 二、以“连续”方式使用 以“连续”方式使用时,你会发现这样的现象,例如你希望一个画面被打开10秒钟后自动关闭,你会将定时器的Interval 属性设为10000,事实上却是,画面不到10秒就会被关闭,而且每次的延时时间还不是固定的,似乎是随机的,有时几乎是10秒,有时还不到1秒。这个举例中,定时器仅运行了1次(因为画面已经被关闭了),如果定时器一直运行下去,你还会发现,除了第一次的延时是“随机”的,从第二次开始,延时都是准确的。 这究竟是怎么回事呢?其实这是StartTime属性在起作用,StartTime属性的默认值是0:00:00,表示从午夜0点0分0秒开始,在这种情况下,如果设置为10秒钟的间隔,定时器被触发的时间将是每一分钟的0秒、10秒、20秒……50秒,如果从某一分钟的18秒启动了定时器,那么定时器第一次被触发的时间将会是20秒,也就是说,从启动到第一次触发之间仅有2秒钟的延时,如果你从15秒启动,会得到5秒钟的延时,这就是为什么你会觉得第一次的延时是“随机”的。 好的,既然知道了原因,自然也就有了解决的方法,那就是在每一次调用StartTimer方法之前,将StartTime属性设为当前时间,即Timer1. StartTime = Now就搞定了。例如在8:15:23秒启动,间隔10秒,第一次触发将会是在8:15:33秒的时候。 那是不是所有以“连续”方式使用时,这样作就都OK了呢?不是。这个方法是否有效(也就是得到精确的延时),要看你所希望的延时时间有多长,如果延时是10秒或更长,那没问题,这样是唯一正确且简便的方法。但如果你设置的延时间隔比较小,如3秒以内,甚至是毫秒级的,那么这个方法就会产生比较严重的误差。因为StartTime属性的时间精度只达到秒级,也就是说,实际的运行效果还是会有一定的误差,当然,这个误差最大不会超过1秒,所以一般来说对于5秒以上的延时设置,这个误差可以忽略。但如果延时设置是2秒,然后产生了接近1秒的误差,这就成问题了,误差率将近50%啊!如何解决此类问题呢?有办法,只是稍复杂一点。 例如,我们希望做到这样一个效果——有一个按钮对象(名为cmd1),当用鼠标点击这个按钮时,按钮消失不见,2秒钟之后又出现。也就是说在点击的时候把按钮的Visible属性设为False,并且启动一个定时器控件,2秒之后在定时器的OnTimeOut事件代码中,再把cmd1的Visible属性设为True。 如何比较精确地实现这2秒的时间间隔呢?具体做法是:将定时器的Interval属性设为100毫秒,定义一个模块级变
C#中Timer组件用法 Timer组件是也是一个WinForm组件了,和其他的WinForm组件的最大区别 是:Timer组件是不可见的,而其他大部分的组件都是都是可见的,可以设计的。Timer组件也被封装在名称空间System.Windows.Forms中,其主要作用是当Timer组件启动后,每隔一个固定时间段,触发相同的事件。Timer组件在程序设计中是一个比较常用的组件,虽然属性、事件都很少,但在有些地方使用它会产生意想不到的效果。 其实要使得程序的窗体飘动起来,其实思路是比较简单的。首先是当加载窗体的时候,给窗体设定一个显示的初始位置。然后通过在窗体中定义的二个Timer组件,其中一个叫Timer1,其作用是控制窗体从左往右飘动(当然如果你愿意,你也可以改为从上往下飘动,或者其他的飘动方式。),另外一个Timer2是控制窗体从右往左飘动(同样你也可以改为其他飘动方式)。当然这二个Timer 组件不能同时启动,在本文的程序中,是先设定Timer1组件启动的,当此Timer1启动后,每隔0.01秒,都会在触发的事件中给窗体的左上角的横坐标都加上"1",这时我们看到的结果是窗体从左往右不断移动,当移动到一定的位置后,Timer1停止。Timer2启动,每隔0.01秒,在触发定义的事件中给窗体的左上角的横坐标都减去"1",这时我们看到的结果是窗体从右往左不断移动。当移动到一定位置后,Timer1启动,Timer2停止,如此反覆,这样窗体也就飘动起来了。要实现上述思路,必须解决好以下问题。 (1).如何设定窗体的初始位置: 设定窗体的初始位置,是在事件Form1_Load()中进行的。此事件是当窗体加载的时候触发的。Form有一个DesktopLocation属性,这个属性是设定窗体的左上角的二维位置。在程序中是通过Point结构变量来设定此属性的值,具体如下: //设定窗体起初飘动的位置,位置为屏幕的坐标的(0,240) private void Form1_Load ( object sender , System.EventArgs e ) { Point p = new Point ( 0 , 240 ) ; this.DesktopLocation = p ; } (2). 如何实现窗体从左往右飘动: 设定Timer1的Interval值为"10",就是当Timer1启动后,每隔0.01秒触发的事件是Timer1_Tick(),在这个事件中编写给窗体左上角的横坐标不断加"1"的代码,就可以了,具体如下:
《visual FoxPro中计时器及命令按钮组控件的应用》 ——“随机抽号软件”教学设计 一、目标陈述: 1、教学宗旨:面向全体学生,教师为主导,学生为主体,因材施教。 2、教学目的:通过本节课学习,使学生认识到灵活应用计时器控件设计动态表单的一般规律,让学生感受到现代化教学及科学技术运用到教学中作用和意义。 3、教学目标: 1)使学生掌握设计应用程序的一般规划流程。 2)使学生掌握设置计时器控件及命令按钮组控件的方法。 3) 使学生熟练分支判断语句在程序中应用。 4)使学生加强在表单设计中审美意识的培养。 4、情感目标:学习利用计时器及命令按钮组控件设计小软件,可以使学生对计算机及visual foxpro产生浓厚兴趣,为以后的数据库程序设计、项目规划打好基础。 5、能力目标: 1)通过练习设计随机抽号程序的设计,进一步掌握计时器控件应用的基本方法。 2)通过实践操作,进一步提高学生装的动手实践能力。 3)通过任务驱动法,做题归纳,比较学习法,可以使学生分析问题,解决问题的能力得到进一步提高。
二、教材地位及重、难点: 1、地位:计时器及命令按钮组的应用是visual foxpro程序设计、表单操作中的重点。 2、重点: 1)计时器控件的属性设置:interval timer event。 2)表单的数据环境设置。 难点:1)计时器控件的timer event属性中代码的设计。 2)命令按钮组中控制语句的设计。 3)表单的int 过程中代码设计。 4)表单设计的整体规划。 三、任务分析: 1、学生基础:通过前面的学习,学生已经能够较熟练地创建 标签控件及文本框控件,并对计时器控件有初步认识,学生学习的积极性较高。 2、使能目标:规划表单流程添加并设置控件设计代码。 3、支撑条件分析:通过前一段练习,学生已经对表单的学习产生了浓厚的兴趣,但他们对表单中控件的属性认识和代码的设计还不到位,本节课中应注意加强对学生分析能力的引导和对设计小程序的整体规划能力的培养,让学生较熟练地掌握表单设计中控件的属性设置及代码的设计。 四、教学过程设计:
【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数 在Step7中定时器(Timer)的输出参数BI、BCD,是其剩余时间的两种数据格式。BI以整数Int格式显示,BCD以BCD格式显示。如何将BI、BCD转为秒为单位的浮点数(Real),下面提供了思路和例程。 1 定时器(Timer)的参数说明 定时器(Timer)在编程中大量使用,有时会用到其剩余时间,例如用剩余时间进行其他运算和编程,或者在其它厂家的触摸屏上显示。这时,需将定时器的剩余时间转为浮点数(Real),以秒为单位。 下面是调用定时器的程序截图,预设定时时间为1分钟为例。
首先,分析定时器的各参数含义,按鼠标左键点击定时器框图后按F1键会看到step7帮助信息,如下图。 由此可见输出参数BI、BCD是定时器剩余时间的两种数据格式。BI以整数Int 格式显示,BCD以BCD格式显示。注意,此处BCD格式即是S5Time格式,其数据结构和时基如下:
明显看出,参数BI转为秒为单位的浮点数,必须利用参数BCD的时基。参数BCD转为秒为单位的浮点数,需调用库函数FC33(S5TI_TIM)。 2 剩余时间参数BI,转为秒为单位的浮点数(Real) 思路:参数BI -> 整数INT -> 双整数DI -> 浮点数Real -> 取参数BCD的时基-> 根据不同时基,转为秒为单位的浮点数Real。编程如下:
3 剩余时间参数BCD,转为秒为单位的浮点数(Real) 思路:参数BCD -> 时间S5Time -> 库函数FC33(S5TI_TIM) -> 时间Time -> 双整数DI -> 浮点数Real -> 除以1000.0,转为秒为单位的浮点数Real。编程如下: 4 结果显示 本例程中,定时器的预设定时时间为1分钟,启动定时器,截图如下。 可见,截图时定时器剩余时间为30s500ms,参数BI和BCD转为秒为单位的浮点数,均为30.5秒。
使用C#的Timer控件来实现定时触发事件 C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C# Timer使用的方法有所帮助。 关于C# Timer类在C#里关于定时器类就有3个 C# Timer使用的方法1.定义在System.Windows.Forms里 C# Timer使用的方法2.定义在System.Threading.Timer类里" C# Timer使用的方法3.定义在System.Timers.Timer类里 下面我们来具体看看这3种C# Timer用法的解释: ◆System.Windows.Forms.Timer 应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer 控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程序)无法使用。 ◆System.Timers.Timer 和System.Threading.Timer非常类似,它们是通过.NET Thread Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。 ◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。 C# Timer用法实例 使用System.Timers.Timer类 System.Timers.Timer t = new System.Timers.Timer(10000); //实例化Timer类,设置间隔时间为10000毫秒; t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件; t.AutoReset = true; //设置是执行一次(false)还是一直执行(true); t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件; public void theout( object source, System.Timers.ElapsedEventArgs e) { MessageBox.Show("OK!"); } C# Timer用法的基本情况就向你介绍到这里,希望对你了解和学习C# Timer使用有所帮助。详细参考:https://www.sodocs.net/doc/1311563939.html,/zh-cn/library/vstudio/system.timers.timer.aspx
vb6.0时间控件timer详解 通过引发Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。 语法 Timer 说明 Timer 控件用于背景进程中,它是不可见的 ************************以下是他的属性**************** Enabled 属性 返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。 语法 object.Enabled [= boolean] Enabled 属性的语法包含下面部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象。如果object 被省略,则与活动窗体模块相联系的窗体被认为是object。 boolean 一个用来指定object 是否能够对用户产生的事件作出反应的布尔表达式。 设置 boolean 的设置为: 设置描述 True (缺省)允许object 对事件作出反应。 False 阻止object 对事件作出反应。 Enabled 属性示例 该例子使一个CommandButton 控件有效而不管TextBox 控件是否包含文本。要试用此例,先将下面的代码粘贴到带有CommandButton 和TextBox 控件的一个窗体的声明部分,然后按下F5 键并在文本框中随意输入一些内容。 Private Sub Form_Load () Text1.Text = "" ' 清除文本框的内容。
Command1.Caption = "Save" ' 在按钮上放置标题。 End Sub Private Sub Text1_Change () If Text1.Text = "" Then '查看文本框是否为空。 Command1.Enabled = False '使按钮无效。 Else Command1.Enabled = True '使按钮有效。 End If End Sub Interval 属性 返回或设置对Timer 控件的计时事件各调用间的毫秒数。 语法 object.Interval [= milliseconds] Interval 属性语法有以下组成部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象。 milliseconds 数值表达式,指定毫秒数,“设置值”中有详细说明,。 设置值 milliseconds 的设置值为: 设置值描述 0 (缺省值)使Timer 控件无效。 1 to 65,535 设置的时间间隔(以毫秒计),在Timer 控件Enabled 属性设置为True 时开始有效,例如,10,000 毫秒等于10 秒。最大值为65,535 毫秒,等于1 分钟多一些。 说明 可以在设计时或在运行时设置Timer 控件的Interval 属性。使用Interval 属性时,请记住: Timer 控件的Enabled 属性决定该控件是否对时间的推移做响应。将Enabled 设置为False 会关闭Timer 控件,设置为True 则打开它。当Timer 控件置为有效时,倒计时总是从其Interval 属性的设置值开始。 创建Timer 事件程序用以告诉Visual Basic 在每次Interval 到时该做什么。 Interval 属性示例
visual basic 程序设计__使用计时器控件(1) colefan@https://www.sodocs.net/doc/1311563939.html, 年级:高(二) 教学目标: 整体目标: 技能目标:掌握工具箱里的计时器控件的基本属性和事件,并会使用该控件编写简单的程序。 情感目标:激发学生学习VisualBasic程序设计的兴趣。 发展目标:培养独立思考、学习和创新精神,提高学生的信息素养。 层次目标: 基础簿弱学生的学习目标: 1.基本了解“计时器控件”的Enabled属性和Interval属性,会使用属性窗口进行相 关设置,初步学会用代码设置Enabled属性。 2.了解“计时器控件”的Timer事件何时被触发,并会编写简单程序的相应代码。[本 教案采用的程序是设计一个简单的“电子表”程序] 一般学生的学习目标: 1.熟练掌握“计时器控件”的Enabled属性和Interval属性,会使用属性窗口进行 相关设置,并会使用代码设置这些属性。 2.了解“计时器控件”的Timer事件何时被触发,熟练编写简单程序的相应代码, 并能根据帮助文件对“电子表”程序进行一定程度的扩充。[本教案采用的程序是 设计一个简单的“电子表”程序] 优等学生的学习目标: 1.熟练掌握“计时器控件”的Enabled属性和Interval属性,会使用属性窗口进行 相关设置,并会使用代码设置这些属性。 2.熟练掌握“计时器控件”的Timer事件何时被触发,熟练编写简单程序的相应代 码,并能根据帮助文件完善“电子表”程序。[本教案采用的程序是设计一个简单 的“电子表”程序] 教学重点: 1.了解如何在窗体上加入“计时器控件”即Timer控件,理解Timer控件的Enabled属 性、Interval属性和Timer事件。 2.学习使用Timer控件来编写“电子表”程序的关键子程序即Timer事件。 3.培养学生良好的程序设计结构和习惯。 教学难点:让学生发现程序的不足之处,并给出相应的解决方案。 教学过程 课前准备:按照课程要求,准备好要演示的程序,以及相应的帮助文件。 一、引入(1分钟) 1.上课后,将准备好的“电子表”程序演示给学生们看,激发学生的兴趣。 2.教师说话:如何来设计和实现一个简单的“电子表”程序呢,今天我们要来讲一个“计时器控件”,通过这个控件,我们就能设计和实现一个简单的“电子 表”程序了。
1.定时器Timer当时间间隔(周期)变化时,实时去修改 我项目中主要是实现在某个时间段上午8:00-12:00,下午 2:00(pm_start)-19:00(pm_end),每隔3分钟(pm_time)(可以手动设置)自动上传当前的位置(google的定位) // 执行定时任务 privateboolean bool= true;// true表示服务器与本地数据相同,false表示服务器与本地数据不相同 privatevoid start_schedule_pm() { final Timer timer = new Timer(); timerTask = new TimerTask() { @Override publicvoid run() { //当不相同时取消timer重新new一个timer if (!bool) { if (timer != null) { Log.e("%%%%", bool + ""); timerTask.cancel(); timer.cancel(); start_schedule_pm(); bool = true;
return; } } if ((getCurrentTime() - 12) >= Double.valueOf(pm_end)) { timerTask.cancel(); timer.cancel(); //我的是在android service里跑的程序,所以关闭了service stopSelf(); return; } if (!AppUtils.checkNet(getApplicationContext())) { Log.d("data", "网络未连接"); return; } Log.d("data", "新任务开始");
教学 程: 一、新 课 导 入 教 师: 同学 们, 大家 平时 有没有注意到很多酒店门口都有一个LED电子屏,这类LED电子屏上的文字一般是 怎么移动的呢你留意过它还有什么特点吗 学生:…… (教师引导学生回答,然后再总结) 教师:是的,LED电子屏的文字是按一定的方向移动的,而且这些文字隔一定的时间 段又出现,也就是说这是有规律地每隔一段时间再次出现移动的文字。其实通过这 门课学习的软件我们也可以制作出类似的效果。 (教师运行模仿LED电子屏文字移动的程序让学生观看) 教师:大家可以看到,这个例子用到了我们以前学过的标签,除标签外,它还用到 了计时器。这节课我们将要学习基础控件计时器的使用。
二、新课知识 1、计时器的特点 计时器控件通过Timer 事件,可以有规律地每隔一段时间执行一次事件过程代码。此外,计时器控件是一个不可见控件,也就是说在设计阶段,你能够看到它,但程序运行时它不会在界面上出现,是不可见的。 2、计时器的常用属性 (1)Enabled 属性:计时器的Enabled 属性也是较常用的属性,该属性决定计时器控件是否能对时间的推移做出响应。若将Enabled 设置为 False ,此时计时器控件无效,即Timer事件不会触发;当Enabled设置为 True时,计时器控件有效。由此看来,Enabled相当于是个启动计时器控件的一个开关。 (2) Interval属性:可以在设计时或在运行时设置计时器控件的 Interval 属性。这个属性可以设定Timer 事件触发的时间间隔,其时间间隔以毫秒(ms)为单位,取值范围为0~65535毫秒。一般设为1000毫秒,这样可以每秒种触发一次Timer 事件。如果Interval属性的值设置为 0(默认值),即使Enabled 属性的值为True,计时器控件也无效。 3、计时器的Timer事件 计时器的事件只有一个,为Timer事件。Timer事件的触发时间是从Interval 属性的设置值开始,以后每隔这样一个时间段,就触发一次Timer事件。需要说明的是当Interval 属性值为0时,计时器无效。(教师在讲解以上三个知识点时也结合一些相关的操作) 4、教师演示制作文字移动例子的操作过程 教师实例演示模仿LED电子屏文字移动的例子的操作步骤,并结合计时器的常用属性和事件进行讲解,加深学生对理论知识的理解。
第九讲定时器T2的用法 定时器 声明,定时器T2只有52以上的芯片才有,51没有的。
捕捉模式 在捕捉模式时,两种操作模式由T2CON中的EXEN2位选择。如果EXEN2=0,Timer2作为一个16位向上定时或计数器,当溢出时将T2CON中的TF2置1。这个标志位可以产生一个中断。如果EXEN2=1,Timer2起同样的作用,但是,外部输入端T2EX上的下降延也可以使TH2和TL2中的值捕捉到RCAP2H和RCAP2L中,另外,T2EX上的下降延可以将EXF2置1,像TF2一样,也可以产生一个中断。捕捉模式详见图5。 自动重载模式
Timer2在指定为16为自动重载模式时可以编程为加计数或减计数,此功能由T2MOD 中的DCEN位决定。DCEN=0,计数器向上计数,默认置为0,DCEN=1时,Timer2的加或减由T2EX的值决定。 图6显示Timer2在DCEN=0时自动向上计数。在这个模式时,T2CON的EXEN2为可以选择两种操作。EXEN2=0,Timer2向上计数到0FFFFH时将TF2为置1,溢出可以把RCAP2H和RCAP2L 中的16为值重新加载到定时寄存器中。捕捉模式时RCAP2H和RCAP2L中的值由软件预先设定。EXEN2=1,既可以由溢出重载也可以由T2EX引脚的下降延触发重载。TF2和EXF2都可以产生中断。设置DCEN为可以时Timer2向上或向下计数,如图6所示,此模式下,T2EX 脚控制计数方向。T2EX如果为1,Timer2向上计数。计数器到0FFFFH时溢出并将TF2置1。溢出可以使RCAP2H和RCAP2L中的16为值重新加载到定时寄存器中。T2EX如果为0,Timer2向下计数,当TH2和TL2中的值和RCAP2H和RCAP2L相等时向下溢出。溢出使TF2置1并 将0FFFFH重新加载到计时寄存器中。
关于使用C#通过Timer控件实现自动播放图片的效果问题 F1ake 4级被浏览52次 2013.04.23 using System; using System.Collections.Generic; using https://www.sodocs.net/doc/1311563939.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 第五章_work { public partial class Form1 : Form { public Form1() { InitializeComponent(); } int i = 0; private void picRight_Click(object sender, EventArgs e) { i--; if (i > -1) { picPicture.Image = ilImgList.Images[i]; } else { MessageBox.Show("已经是最后一张了","提示",MessageBoxButtons.OK,MessageBoxIcon.Excl amation); } } private void picLeft_Click(object sender, EventArgs e) { i++; if (i < 9)
{ picPicture.Image = ilImgList.Images[i]; } else { MessageBox.Show("已经是最后一张了", "提示", MessageBoxButtons.OK, MessageBoxIcon. Exclamation); } } private void Form1_Load(object sender, EventArgs e) { picPicture.Image = ilImgList.Images[0]; } private void picLook_Click(object sender, EventArgs e) { timer1.Enabled != timer1.Enabled; if (timer1.Enabled==true) { timer1.Start(); } else { timer1.Stop(); } } private void timer1_Tick(object sender, EventArgs e) { //if (count < ilImgList.Images.Count - 1) //{ // count++; //} //else //{
教学过程: 一、新课导入 教师:同学们,大家平时有没有注意到很多酒店门口都有一个LED电子屏,这类LED电子屏上的文字一般是怎么移动的呢你留意过它还有什么特点吗学生:…… (教师引导学生回答,然后再总结) 教师:是的,LED电子屏的文字是按一定的方向移动的,而且这些文字隔一定的时间段又出现,也就是说这是有规律地每隔一段时间再次出现移动的文字。其实通过这门课学习的软件我们也可以制作出类似的效果。 ]
(教师运行模仿LED电子屏文字移动的程序让学生观看) 教师:大家可以看到,这个例子用到了我们以前学过的标签,除标签外,它还用到了计时器。这节课我们将要学习基础控件计时器的使用。 二、新课知识 1、计时器的特点 计时器控件通过Timer 事件,可以有规律地每隔一段时间执行一次事件过程代码。此外,计时器控件是一个不可见控件,也就是说在设计阶段,你能够看到它,但程序运行时它不会在界面上出现,是不可见的。 2、计时器的常用属性 (1)Enabled 属性:计时器的Enabled 属性也是较常用的属性,该属性决定计时器控件是否能对时间的推移做出响应。若将Enabled 设置为False ,此时计时器控件无效,即Timer事件不会触发;当Enabled设置为True时,计时器控件有效。由此看来,Enabled相当于是个启动计时器控件的一个开关。 (2)Interval属性:可以在设计时或在运行时设置计时器控件的Interval 属性。这个属性可以设定Timer 事件触发的时间间隔,其时间间隔以毫秒(ms)为单位,取值范围为0~65535毫秒。一般设为1000毫秒,这样可以每秒种触发一次Timer 事件。如果Interval属性的值设置为0(默认值),即使Enabled 属性的值为True,计时器控件也无效。 3、计时器的Timer事件 计时器的事件只有一个,为Timer事件。Timer事件的触发时间是从Interval 属性的设置值开始,以后每隔这样一个时间段,就触发一次Timer事件。
STM32之TIMER定时器之间不同点 STM32F1 系类有1~14 一共14 个定时器;具体型号不一样会有所不同。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM 等)。使用定时器预分频器和RCC 时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器(TIM1 和TIM8)和通用定时器(TIMx)是完全独立的, 它们不共享任何资源。它们可以同步操作。TIM6 和TIME7 是基本定时器,他 们通常作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC 并通过触发输出直接驱动 DAC。这2 个定时器是互相独立的,不共享任何资源。TIM2 到TIM14 为通用定时器,TIM2 到TIM5;TIM9 和TIM12;TIM10,TIM11,TIM13,TIM14,分为 了三组,他们功能上有一些不同,相对高级定时器,只是功能上有一些阉割,他 们都是相互独立的,但是总时钟都是由RCC 控制着。具体的不同点看下面的 结构体。图一为TIM1 和TIM8 高级定时器图二为TIM2 到TIM5 图三为TIM6 和TIM7 图四为TIM9 和TIM12 图五为TIM10/11/13/14 从这五幅图可以看出,每组定时有自己的用途,他们还可以根据需要通过TRGO 信号进行定时定级联。但是不推存大家这样做,如果你设计的系统误差没有严格要求话还是可以尝试的。具体的定时器配置和说明将在以后日志中详细说明,他们的配置几乎是一 样的。tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!