由于LabVIEW是一个图形化编程界面,因此其事件处理和其他编程语言中的事件处理有所不同。下文列出了在LabVIEW应用程序中使用事件的说明和建议。

  • 确保事件结构能在任何时间处理发生的事件。
  • 记得在“值改变”事件分支中读取触发布尔控件的接线端。
  • 使用条件结构处理触发布尔控件的撤消操作。
  • 将一个条件分支配置为处理多个通知事件的操作时,使用警告信息。
  • 不要使用不同的事件数据将一个分支配置为处理多个过滤事件。
  • 如包含事件结构的While循环基于触发停止布尔控件的值而终止,记住要在事件结构中处理该触发停止布尔控件。
  • 如无需通过编程监视特定的前面板对象,考虑使用“等待前面板活动”函数。
  • 用户界面事件仅适用于直接的用户交互。
  • 避免在一个事件分支中同时使用对话框和“鼠标按下?”过滤事件。
  • 避免在一个循环中放置两个事件结构。
  • 避免在同一个VI中使用多个事件结构。
  • 使用动态注册时,确保每个事件结构均有一个“注册事件”函数。
  • 如果VI类和控件类注册了同样的事件,LabVIEW先产生VI事件。
  • 使用子面板控件时,事件由含该子面板控件的顶层VI处理。
  • 如需在处理当前事件的同时生成或处理其他事件,考虑使用事件回调注册函数。
  • 请谨慎选择通知或过滤事件。用于处理通知事件的事件分支,并将无法影响LabVIEW处理用户交互的方式。如要修改LabVIEW是否处理用户交互,或LabVIEW怎样处理用户交互,可使用过滤事件。
  • 不要将前面板关闭通知事件用于重要的关闭代码中,除非事先已采取措施确保前面板关闭时VI不中止。例如,用户关闭前面板之前,确保应用程序打开对该VI的引用。或者,可使用前面板关闭?过滤事件,该事件在面板关闭前发生。
  • 如果没有事件结构立即处理某一事件且启用了前面板锁定,该VI的用户界面将不响应任何操作。因此,必须确保事件结构所处循环的运行频率能及时响应用户界面事件或禁用前面板锁定。