A Container can contain other components, including other containers. Uses for containers include:
- Organization - Containers can be used to group components together. These components can then be moved, copied, or deleted as a group. Furthermore, they will all be organized inside of their parent container in the project navigation tree, which makes them easier to find.
- Re-usability - Containers provide the opportunity to create a complex component that is made up of multiple other components. For instance, if you wanted to make your own custom HOA control, you can put three buttons inside of a container and configure them to all use a 'status' property that you add to their parent Container. Now you have built an HOA control that can be re-used and treated like its own component. Create a date range control that generates a SQL WHERE clause that can be used to control Charts and Tables. Create a label/button control that can be used to display datapoints, and pop up a parameterized window that displays meta-data (engineering units, physical location, notes, etc.) about that datapoint. Creating re-usable controls with Containers containing multiple components is the key to rapid application development.
- Layout - Containers are a great way to improve window aesthetics through borders and layout options.
To move a container around on a window, you need to hold the alt key while clicking and dragging.
|Background Color||The background color of the component. Can be chosen from color wheel, chosen from color palette, or entered as RGB or HSL value. See Color Selector.||Color||.background||Appearance|
The border surrounding this component. Options are: No border, Etched (Lowered), Etched (Raised), Bevel (Lowered), Bevel (Raised), Bevel (Double), Field Border, and Line Border.
As of 8.1.21, the "Button Border" and "Other Border" options are removed.
|Combine Repaints||Set this to true for containers with many sub-components that need to redraw frequently (flashing, rotating, animating).||boolean||.combineRepaints||Behavior|
|Cursor||The mouse cursor to use when hovering over this component. Options are: Default, Crosshair, Text, Wait, Hand, Move, SW Resize, or SE Resize.||int||.cursorCode||Common|
|Font||Font of text on this component.||Font||.font||Appearance|
|Mouseover Text||The text that is displayed in the tooltip which pops up on mouseover of this component.||String||.toolTipText||Common|
|Name||The name of this component.||String||.name||Common|
|Opaque||If false, backgrounds are not drawn. If true, backgrounds are drawn.||boolean||.opaque||Common|
|Quality||The data quality code for any Tag bindings on this component.||QualityCode||.quality||Data|
|Styles||Contains the component's styles.||Dataset||.styles||Appearance|
|Texture||Background texture image for this container.||String||.texturePath||Appearance|
|Tile Optimized||If true, this container's children should never overlap, and you'll get better painting performance.||boolean||.optimizedDrawingEnabled||Behavior|
|Visible||If disabled, the component will be hidden.||boolean||.visible||Common|
|Data Quality||The data quality code for any Tag bindings on this component.||int||.dataQuality||Deprecated|
This component does not have component functions associated with it.
This component does not have extension functions associated with it.
Event handlers allow you to run a script based off specific triggers. See the full list of available event handlers on the Component Events page.