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.|
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.