ABL-derived forms can be containers for .NET Windows Forms UI and non-UI controls. .NET contains a variety of controls that you can add to forms—controls that display text boxes, buttons, drop-down boxes, radio buttons, and even Web pages. From a coding perspective a .NET form is made up of a set of controls.

GUI for .NET controls can also come from several different areas, the difference being in how you obtain the control:

  • Microsoft .NET UI Controls. This is the OpenEdge name for the .NET Framework controls that are installed as visual design components.
  • OpenEdge Ultra Controls for .NET (Ultra Controls), based on Infragistics NetAdvantage for Windows Forms.
  • OpenEdge .NET controls / components:
    • Window Container control (Progress.Windows.WindowContainer).
    • User control (Progress.Windows.UserControl).
    • ProBindingSource control (Progress.Data.ProBindingSource) for binding data to a control.
  • Other 3rd party .NET Windows Forms controls.
  • ABL-derived .NET custom controls: user controls and inherited controls.

Control vendors normally provide detailed documentation and help on using their controls. While this documentation is often written assuming the use of a .NET language, the description of a control and its properties and events are all relevant for its use in ABL. You can access this documentation in the following ways:

  • Visit the vendor's website.
  • Open the control in the OpenEdge Class Browser to see control definitions using a modified ABL syntax.
  • Press F1 after you place the control on the form within Progress Developer Studio for OpenEdge Visual Designer. The online help opens on the respective vendor site.