Use the subpanel control to display the front panel of another VI on the front panel of the current VI.

For example, you can use a subpanel control to design a user interface that behaves like a wizard:

  • Use Boolean buttons on the front panel of the top-level VI to step through the wizard.
  • Use a subpanel control to load different front panels for each step of the wizard.

How Subpanel Controls Work

When you place a subpanel control on the front panel, LabVIEW does not create a terminal for the control on the block diagram. Instead, LabVIEW creates an Invoke Node. The Invoke Node uses the Insert VI method.

To load a VI in the subpanel control, wire a reference to that VI to the Invoke Node.

If you load a VI that is not running, the VI in the subpanel control loads in edit mode.

LabVIEW displays only the visible area of the front panel of the VI you load in the subpanel control.

When you stop a VI that has a subpanel control, LabVIEW clears the front panel in the subpanel control. You also can use the Remove VI method to unload the VI in the subpanel control.

Requirements for Subpanel Controls

  • The subpanel control does not have a terminal. As a result, you cannot do the following with subpanel controls:
    • You cannot create an array of subpanel controls.
    • You cannot create a type definition of a subpanel control.
  • You can place a subpanel control in a cluster to group controls only if the cluster does not contain solely subpanel controls.
  • You must make the front panel of a front panel reentrant to do the following with a subpanel control:
    • Load the front panel of a VI that is open.
    • Load the front panel of a VI that is already loaded in another subpanel control on the same front panel.
  • You cannot load the front panel of a VI in a remote application instance.
  • You cannot load front panels recursively.

Subpanel Control Examples

For examples of using subpanel controls, refer to labview\examples\Controls and Indicators\Containers\Containers.lvproj.