---
title: Developing form controls
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Form controls provide the interface for the editing forms that allow users to input data in the Xperience administration interface. Each form control represents a single field, and displays a certain form element, such as a text box for user input, a group of radio buttons, a selector etc.

![Example of a form - the editing interface of each field is a form control](https://docs.kentico.com/docsassets/13/developing-form-controls/image2013-3-4.png "Example of a form - the editing interface of each field is a form control")

You can insert form controls into all editing forms that are based on the Xperience form engine, including the following:

- [Page type](https://docs.kentico.com/13/developing-websites/defining-website-content-structure/managing-page-types.md) editing forms (Content tab)
- Editing forms of system objects (classes)
- Editing forms of [Custom tables](https://docs.kentico.com/13/developing-websites/defining-website-content-structure/managing-custom-tables.md)
- [Alternative forms](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/creating-alternative-forms.md)
- [Custom website settings](https://docs.kentico.com/13/custom-development/creating-custom-modules/adding-custom-website-settings.md)
- [Report parameters](https://docs.kentico.com/13/configuring-xperience/working-with-system-reports/defining-report-parameters.md)
- [Macro rule parameters](https://docs.kentico.com/13/macro-expressions/writing-macro-conditions/creating-macro-rules.md)

Form controls are implemented as standard ASP.NET Web Form controls using one of the following approaches:

- As a user control (_.ascx_ file)
- As a control class compiled in an assembly

In both cases, the control class must inherit from the **CMS.FormEngine.Web.UI.FormEngineUserControl** class.
