Skip to main content
Version: 8.1

Vision - One-Shot Button

Component Palette Icon

The One-Shot button is great for telling a PLC to do something. It simply writes a value, and then waits for it to be reset by the PLC before it is available again. This is only applicable when the PLC is programmed to reset the value after reading it. If your PLC expects the HMI to reset the bit, use the Momentary Button.


This component is considered safer than the momentary button, because it receives positive feedback from the PLC that the signal was received, avoiding the timing dangers associated with a Momentary Button.

To use the One-Shot button, bind an OPC tag bidirectionally to the button's Value property. When clicked, the button will write the value in its Set Value property to the Value property. Typically, Set Value is 1, and Value is 0 in a ready state, although the logic could be reversed or change simply by altering Set Value. The button can disable itself when it is writing, and will display different text. The button considers itself to be writing whenever Value equals Set Value - you must make sure that the PLC resets this value, otherwise the button will remain in a writing state.


PropertyDescriptionProperty TypeScriptingCategory
Background ColorThe background color of the button. Can be chosen from color wheel, chosen from color palette, or entered as RGB or HSL value. See Color Selector.Color.buttonBGAppearance
BorderThe border surrounding this component. Options are No border, Etched (Lowered), Etched (Raised), Bevel (Lowered), Bevel (Raised), Bevel (Double), and Field Border.
Note: The border is unaffected by rotation.

Changed in 8.1.21
As of 8.1.21, the "Button Border" and "Other Border" options are removed.
Border Painted?Indicates if the border of this button should be displayed.
Changed in 8.1.8
This property was removed in 8.1.8
Confirm TextThe message to ask the user if confirmation is turned on.String.confirmTextBehavior
Confirm?If true, a confirmation box will be shown.boolean.confirmBehavior
CursorThe mouse cursor to use when hovering over this component. Options are: Default, Crosshair, Text, Wait, Hand, Move, SW Resize, or SE
Disable While WritingIf true, the button will be disabled while it is writing.boolean.disableWhileWritingBehavior
Disabled Image PathThe relative path of the image to be displayed when this component is not enabled.String.disabledPathAppearance
EnabledIf disabled, a component cannot be used.boolean.componentEnabledCommon
Fill Area?Controls whether or not this button's internal area is filledboolean.contentAreaFilledAppearance
FocusableIf a button is not focusable, you will not be able to interact with it with the keyboard. This means you can't "tab" over to it.boolean.focusableBehavior
FontFont of text on this componentFont.fontAppearance
Foreground ColorThe foreground 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.foregroundAppearance
Horizontal AlignmentThe horizontal alignment of the button's contents (text and/or image).int.horizontalAlignmentLayout
Horizontal Text PositionThe horizontal position of the button's text relative to its
Icon-Text SpacingThe space (in pixels) between the icon (if any) and the text (if any).int.iconTextGapAppearance
Idle TextThe text of the button while its value is not being written.String.normalTextBehavior
Image PathThe relative path of the image.String.pathAppearance
MarginThe space between a button's text and its borders.Insets.marginLayout
MnemonicA single letter that will activate the button using 'ALT-mnemonic'.String.mnemonicCharBehavior
Mouseover TextThe text that is displayed in the tooltip which pops up on mouseover of this component.String.toolTipTextCommon
NameThe name of this component.String.nameCommon
QualityThe data quality code for any Tag bindings on this component.QualityCode.qualityData
RolloverIf true, the button may indicate that the mouse is hovering over it.boolean.rolloverEnabledBehavior
Set ValueThe value to set the control value to when the button is
StylesContains the component's styles.Dataset.stylesAppearance
ValueThe current value. Should be bound bi-directionally to a
Vertical AlignmentThe vertical alignment of the button's contents (text and/or image).int.verticalAlignmentLayout
Vertical Text PositionThe vertical position of the button's text relative to its
VisibleIf disabled, the component will be hidden.boolean.visibleCommon
Writing TextThe text of the button while its value is being written.String.writePendingTextBehavior

Deprecated Properties

PropertyDescriptionProperty TypeScriptingCategory
Data QualityThe data quality code for any Tag bindings on this
OpaqueIf true, button will be opaque. Default is false.boolean.opaqueCommon


Component Functions

This component does not have component functions associated with it.

Extension Functions

This component does not have extension functions associated with it.

Event Handlers

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



One Shot Button