In component-based programming (Visual Basic, .NETWinForms, Delphi, Lazarus etc.), a form is a representation of a GUI window. A form contains components and controls typically including "OK" and "Cancel" buttons, these objects provide a high-level abstraction of standard or custom widgets which are typically much easier to manipulate than the GUI's underlying API.