RobotStudio Controls
Microsoft® .NET controls are all inherited from a common base class called UserControl. This class has all the basic functionality for a graphical control that will be used on a Windows Form.
All of the built-in .NET controls inherit from this same base class. You can inherit from this same base class as well, and create your own controls. When you inherit from the UserControl class, you will be automatically supplied with certain properties and events.
Creating Your Own Controls vs. Using Microsoft Controls
There are many reasons why you might want to create your own controls even though Microsoft supplies a pretty rich set of controls right out of the box. The boxed controls may not solve all of your special business problems, so you’ll want to customize theirs or create new controls to meet your specific needs.
One of the most common uses that you will find for creating your own controls is for individualizing input masks and business rules for specific types of identifiers used in your applications across your enterprise.
RobotStudio Controls
RobotStudio controls can be accessed from ABB.Robotics.RobotStudio.Stations.Forms namespace which contains classes for interacting with the 3D View and a set of RobotStudio specific controls to be used in forms, and tool windows, for example controls for entering coordinates and presenting measuring units.
Some of the controls that are available are as follows:
HoverObject Control - This control contains a TextBox and a label used for describing the content that will be used as input to the control. The control is used to show a preview of what object will be selected in by the GraphicPicker of active project when the mouse pointer is hovered over.
NumericTextBox - This control has a spin, label and edit control. It supports mathematical expressions, measuring unit conversions and min/max limits.
Variations of NumericTextBoxControl
NumericTextBoxArray - This control displays an array of NumericTextBox of equal width and distributed equally. The array count is set from property grid or through code. The functionality is same as NumericTextBox control.
Inertia Control - This control displays Inertia values represented in an array of NumericTextBox. The control inherits a NumericTextBoxArray with three numeric text boxes. Set and get the inertia value using the Value property. It is possible to access individual numeric text boxes. The unit used is kgm2.
JointValues Control - This control displays jointValues of mechanism in an array of NumericTextBox. The control inherits a NumericTextBoxArray with six numeric text boxes. Set and get the joint value using the Value property. It is possible to access individual numeric text boxes.
ObjectSelection Control - This control displays the object based on selection in combobox.
Orientation Control - This control displays the orientation, with seperate numeric text boxes.The control inherits a NumericTextBoxArray with three numeric text boxes. Set and get the orientation value using the Value property. It is possible to access individual numeric text boxes values. The unit is degrees.
Position Control - This control displays the position, with separate numeric text boxes for X, Y and Z. The control inherits a NumericTextBoxArray with three numeric text boxes. Set and get the position value using the Value property. It is possible to access individual numeric text boxes for X, Y and Z values. The unit is mm.
Quaternion Control - This control displays the quaternion, with seperate numeric text boxes.The control inherits a NumericTextBoxArray with four numeric text boxes. Set and get the quaternion value using the Value property. It is possible to access individual numeric text boxes values.
ReferenceComboBox - This control provides a comboBox for selecting a reference coordinate system.
RefCoordSys - This control represents the reference coordinate system functionality and connects the ReferenceComboBox with the PositionControl. It keeps a collection of RefCoordSysItem which represents the different reference coordinate systems to choose from.
ToolControlBase - This contorl is the base class for all hosted tool controls
UnitLabel - This control displays the unit in a label control. Example: Length (mm). If the user changes to Inches, it will render as Length (Inch)