您的位置:

LabVIEW事件结构的使用方法详解

一、事件结构介绍

LabVIEW事件结构是一种特殊的结构,它可用于监视和响应特定 LabVIEW 控件的事件。事件结构还可以监视并响应由其他程序或硬件设备引发的事件。它支持多个事件脚本,每个事件脚本均由事件触发而执行。因此,您可以使用多个事件结构来处理来自单个控件或其他触发源的多个事件。

二、事件结构原理

在LabVIEW程序中,事件结构是一个非常常用的控制结构,可以用于控制程序在特定的事件发生时,执行相应的方法。当事件结构被标识为正在等待事件时,程序将一直停留在该节点处,直到控件发生了与事件关联的操作。

事件结构适用于需要在程序执行过程中控制/触发流程的交互式GUI程序。事件结构通过它的"等待事件"部分实现了类似微软DotNET的事件驱动编程模型。

在事件结构中,每个事件都是一个单独的结构。这个结构由一个等待事件及其对应的处理程序组成。当事件被触发时,对应的程序将开始执行。

三、事件结构实例1:按钮事件

在下面的示例中,创建一个简单的 LabVIEW 程序来演示如何处理按按钮的单击事件。

  1. 创建一个按钮控件
  2. 选择按钮,右键单击,选择Create -> Event
  3. Event类型默认为Value Change
  4. 改变Event类型为Value Clicked
  5. 单击OK
  6. 右键单击事件结构的黑色等待事件框,并选择创建事件处理程序
  7. 在新创建的事件脚本中添加所需的处理
  8. 按照此步骤添加更多事件处理程序

示例代码:


  .vi或.html代码见附件或github-demo1链接

四、事件结构实例2:键盘事件

在下面的示例中,创建一个简单的 LabVIEW 程序来演示如何处理键盘事件。

  1. 创建一个文本输入控件
  2. 在图形右侧空白处点击,然后按Tab键,查看Panel/Control Palette快捷键列表,Ctrl-Space换页
  3. Single line text选项卡中拖动Text Ring控件到图形面板上,从常用快捷键列表选择Ring
  4. 选择Ring,右键单击,选择Create -> Event
  5. Event类型默认为Value Change
  6. 改变Event类型为Key Down
  7. 单击OK
  8. 右键单击事件结构的黑色等待事件框,并选择创建事件处理程序
  9. 在新创建的事件脚本中添加所需的处理
  10. 按照此步骤添加更多事件处理程序

示例代码:


  .vi或.html代码见附件或github-demo2链接

五、事件结构实例3:鼠标事件

在下面的示例中,创建一个简单的 LabVIEW 程序来演示如何处理鼠标事件。

  1. 创建一个任意可编辑文字控件
  2. 选择控件,右键单击,选择Create -> Event
  3. Event类型默认为Value Change
  4. 改变Event类型为Mouse Down
  5. 单击OK
  6. 右键单击事件结构的黑色等待事件框,并选择创建事件处理程序
  7. 在新创建的事件脚本中添加所需的处理
  8. 按照此步骤添加更多事件处理程序

示例代码:


  .vi或.html代码见附件或github-demo3链接

六、事件结构实例4:图形调节事件

在下面的示例中,创建一个简单的 LabVIEW 程序来演示如何处理图形调节事件。

  1. 在图形右侧的“Functions”选项卡中搜索“Resize”并选择
  2. 画一个图案到graph中
  3. 选择图案,右键单击,选择Create -> Event
  4. Event类型默认为Mouse Down
  5. 改变Event类型为Value Change
  6. 单击OK
  7. 右键单击事件结构的黑色等待事件框,并选择创建事件处理程序
  8. 在新创建的事件脚本中添加所需的处理
  9. 按照此步骤添加更多事件处理程序

示例代码:


  .vi或.html代码见附件或github-demo4链接

七、事件结构实例5:Chart事件

在下面的示例中,创建一个简单的 LabVIEW 程序来演示如何处理图形调节事件。

  1. 在图形右侧的“Functions”选项卡中搜索“Chart”并选择
  2. 画一个图案到图表中
  3. 选择图案,右键单击,选择Create -> Event
  4. Event类型默认为Value Change
  5. 改变Event类型为Double Click
  6. 单击OK
  7. 右键单击事件结构的黑色等待事件框,并选择创建事件处理程序
  8. 在新创建的事件脚本中添加所需的处理
  9. 按照此步骤添加更多事件处理程序

示例代码:


  .vi或.html代码见附件或github-demo5链接