В компонентном программировании ( Visual Basic , .NET WinForms , Gambas , Delphi , Lazarus и т. д.) форма — это представление окна GUI . Форма содержит компоненты и элементы управления , обычно включающие кнопки «ОК» и «Отмена»; эти объекты предоставляют высокоуровневую абстракцию стандартных или пользовательских виджетов, которыми обычно гораздо проще манипулировать, чем базовым API GUI.
Во время проектирования визуальные элементы управления (кнопки, текстовые поля и т. п.) и невизуальные компоненты (таймеры, соединения с базой данных , средства макетирования и т. п.) размещаются на форме. Эти элементы управления и компоненты позиционируются и изменяются в размерах интерактивно, а их свойства и обработчики событий устанавливаются с помощью специального редактора, обычно представленного в виде сетки.
Во время выполнения автоматически сгенерированный код создает экземпляры этих элементов управления и компонентов и задает их свойства.
Исторически формы часто реализовывались как экраны на блочно-ориентированном терминале, подключенном к мэйнфрейму. HTML-формы концептуально очень похожи.