From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Developer Center Resources

cancel
Showing results for 
Search instead for 
Did you mean: 

Register Callback VIs for .NET Events in LabVIEW

 

» Calling External Code From LabVIEW » .NET Assemblies » .NET Events

 

 

.NET objects will often throw events to alert the instantiating object that certain events have occurred. For instance, a Timer class will throw an “Elapsed” event when the interval expires. UI Controls have events like MouseClick, KeyPress, etc.

 

To handle these events in LabVIEW, you can register a VI as a Callback VI that will get called automatically when the event is fired or thrown.

 

Once you have a reference to a .NET object, you can register for events of the object by using a Register Event Callback node (Functions Palette » Connectivity » .NET » Register Event Callback).

 

The Register Event Callback Node will automatically populate with a list of available events as soon as you wire in an object reference to the node.

Note: Creating Callback VIs to Handle Events

Callback VIs have to match a certain template for their inputs and outputs. The easiest way to create a callback VI is to right click on the VI Ref input of the Register Event Callback node and select Create Callback VI.

 

The following code sets up a System.Timers.Timer and callback VI to handle the Elapsed event. The callback VI displays a message popup.

040RegisterForCallback.png

Examples & References

The following examples install with LabVIEW:
Calculator VI: labview\examples\comm\dotnet\Calculator.llb
SimpleTaskMonitor VI: labview\examples\comm\dotnet\SimpleTaskMonitor.llb

 

Community Example: Calling .NET Assemblies from LabVIEW

 

Jervin Justin
NI TestStand Product Manager
Download All