事件结构
事件结构是一种事件驱动型的编程模式,它需要在外部事件触发的情况下才能触发程序的运行,如按钮被按下、鼠标移动等,当事件发生时,自动触发一段程序运行,即回调函数,类似于硬件中断,因此也节省了CPU资源。
基本构成:
静态事件
事件分类:
- 应用程序事件:主要是关于应用程序状态变化的一些事件,如超时、应用程序关闭等。
- Vl事件:反应当前VI状态变化的一些事件,如VI前面板是否关闭,是否选择了某个菜单。
- 动态事件:用于处理用户自定义的事件和程序运行中临时注册的事件。
- 窗格事件:反应窗格或分隔栏的一些状态变化的事件,如窗体大小变化、鼠标进入分隔栏等。
- 控件事件:这类事件最为频繁,用来处理控件状态的变化事件,如控件的值发生改变等。
按事件发生的时间分类
- 通知型事件:可以理解成事后事件,例如一个控件的值改变事件,操作系统首先监测到键盘或鼠标的变化,然后通知前面板,等LabVIEW自身改变了控件的值后,最后才产生“值改变”事件。
- 过滤型事件:可以理解成事前事件,在LabVIEW处理事件之前,首先将权力交给开发人员,来决定事件是否继续或终止。过滤型事件的名称以问号结束。
静态事件案例
案例:当鼠标进入数值输入控件时,改变其控件的文本背景颜色,否则2秒后其数值输入控件中的值自动加1。
-
在程序框图中放置while循环结构和事件结构,在前面板中放置数值输入控件和停止按钮。
-
添加事件分支,设置数值控件的事件为鼠标进入,再添加一个事件分支,设置停止按钮的事件为值改变,最后设置超时事件为2s。