Determining Which Type of User Interface Events to Use

FlexRIO Help

Edition Date: November 2015

Part Number: 372614J-01

»View Product Info

»Download the Help in ZIP Format

LabVIEW categorizes user interface events into two different types of events: notify and filter. The following table describes these types of events and when to use each type:

Event Type Description Example Use Case
Notify Notify events inform you that a user action occurred. You can configure an Event structure to execute to handle a Value Change event when the user changes the value of a control. Use a notify event if you only want to know that the user performed a particular action.
Filter Filter events allow you to validate or change the event data before LabVIEW performs the default action associated with that event. You also can discard the event entirely to prevent the change from affecting the VI. You can configure an Event structure to discard the Panel Close? event, preventing the user from interactively closing the front panel of the VI. Use a filter event if you want to participate in the handling of the user action.
Note  Filter events have names that end with a question mark to help you distinguish them from notify events. LabVIEW generates an associated notify event after most filter events if no event case discarded the event. The notify event has the same name as the filter event but without the question mark.

Data Flow for Notify and Filter Events

For notify events, LabVIEW sends a copy of the event—in parallel—to each Event structure configured to handle the event.

For filter events, LabVIEW sends the event sequentially to each Event structure configured for the event. The order in which LabVIEW sends the filter event to each Event structure depends on the order in which you register the events. Each Event structure must complete the filter event case before LabVIEW can notify the next Event structure. If an Event structure case changes any of the event data, LabVIEW passes the changed data to subsequent Event structures in the chain. If an Event structure in the chain discards the event, LabVIEW does not pass the event to any Event structures remaining in the chain. LabVIEW completes processing the user action that triggered the event only after all configured Event structures handle the event without discarding it.


Not Helpful