---
title: Overriding and Extending the Sitefinity Forms Builder Widget
description: One of Sitefinity's greatest features is the ability to override and extending the built in functionality, such as Lists, Blogs, and Forms widgets.
image: https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-plain-startup-photos-blue.jpg
---

<https://www.inalign.com>

- [About](https://www.inalign.com/about-us)
- [Code](https://www.inalign.com/custom-development)
- [Sitefinity](https://www.inalign.com/sitefinity-development)
- [Blog](https://www.inalign.com/sitefinity)
- [Contact Us](https://www.inalign.com/contact-us/)

# Overriding and Extending the Sitefinity Forms Builder Widget

by [Gregg Crystal](https://www.inalign.com/sitefinity/author/gregg-crystal) Nov 28, 2016

One of Sitefinity's greatest features is the ability to **override and extend the built in functionality**, such as **Lists**, **Blogs**, and **Forms** widgets.

This lets you change not only the presentation of these components, but the functionality of them as well.

## Example

Here's an example of overriding the built in FormsControl (this is a WebForms example):

First, create a class and derive it from Sitefinity's FormsControl class (you can look up what the built in widgets' classes' are from the **ToolboxesConfig.Config** file).

Then, to override and change functionality simply type override and select the function you want to override:

![sf-blog-extend-widgets-01.png](https://www.inalign.com/hs-fs/hubfs/BlogSitefinity/sf-blog-extend-widgets-01.png?width=750&height=316&name=sf-blog-extend-widgets-01.png)

Here I'm overriding the **ProcessFormSaving** function, which is the method that saves the submitted Form Data to the database.

I added some code to pull the data out of the Form, and I'm going to do something else with it.

I commented out the call to **base.ProcessFormSaving**. I could have also just extended this method by adding some more functionality and calling the original (base) method. But I here I've decided not save the Form data to the database.

![sf-blog-extend-widgets-02.png](https://www.inalign.com/hs-fs/hubfs/BlogSitefinity/sf-blog-extend-widgets-02.png?width=750&height=231&name=sf-blog-extend-widgets-02.png)

If you're wondering what each method does or how internal code works, you can always use **[Telerik's JustDecompile](http://www.telerik.com/products/decompiler.aspx)** to look at the internal source.

Also note that I've added a **CustomProperty** field. Any public getter/setter in a control is going to automatically appear in Sitefinity's advanced view in the widget designer.

This is a quick and easy way to allow the user to be able to add some additional customizable data to the widget, and then use that value in code.

You can see the property here, in the Widget Designer:

![sf-blog-extend-widgets-03.png](https://www.inalign.com/hs-fs/hubfs/BlogSitefinity/sf-blog-extend-widgets-03.png?width=521&height=696&name=sf-blog-extend-widgets-03.png)

I should also note I then added this control as a custom control to ToolboxesConfig.Config. It shows up in the list of modules that you can drag onto a page.

With the ability to extend Sitefinity's built-in functionality, you have unlimited potential to customize your website.

[![Ready to Supercharge Your Sitefinity Project?](https://no-cache.hubspot.com/cta/default/413787/4fd32bab-d792-45af-b51d-a9e3399a2181.png)](https://cta-redirect.hubspot.com/cta/redirect/413787/4fd32bab-d792-45af-b51d-a9e3399a2181)

### Related Posts

[![10 Sitefinity Features Marketers Can Easily Use with Any Website](https://www.inalign.com/hubfs/Inalign_March2018/Layout/sitefinity-background-supercharge-4.jpg)](https://www.inalign.com/sitefinity/10-sitefinity-features-marketers-can-easily-use-with-any-website)

[10 Sitefinity Features Marketers Can Easily Use with Any Website](https://www.inalign.com/sitefinity/10-sitefinity-features-marketers-can-easily-use-with-any-website)

[![What PHP Developers Need to Know When Working With Sitefinity](https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-plain-sf-people-at-computers-blue.jpg)](https://www.inalign.com/sitefinity/what-php-developers-need-to-know-when-working-with-sitefinity)

[What PHP Developers Need to Know When Working With Sitefinity](https://www.inalign.com/sitefinity/what-php-developers-need-to-know-when-working-with-sitefinity)

[![Running Sitefinity Locally Within IIS on Windows 10](https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-plain-charts-blue.jpg)](https://www.inalign.com/sitefinity/running-sitefinity-locally-within-iis)

[Running Sitefinity Locally Within IIS on Windows 10](https://www.inalign.com/sitefinity/running-sitefinity-locally-within-iis)

[![Speeding Up Sitefinity Development: Inline Editing](https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-development-blue.jpg)](https://www.inalign.com/sitefinity/speeding-up-sitefinity-development-inline-editing)

[Speeding Up Sitefinity Development: Inline Editing](https://www.inalign.com/sitefinity/speeding-up-sitefinity-development-inline-editing)

[![Solution to the Sitefinity Error: The located assembly's manifest definition does not match the assembly reference.](https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-crash-org.jpg)](https://www.inalign.com/sitefinity/sitefinity-error-assembly-manifest-does-not-match)

[Solution to the Sitefinity Error: The located assembly's manifest definition does not match the assembly reference.](https://www.inalign.com/sitefinity/sitefinity-error-assembly-manifest-does-not-match)

[![How to Customize Module Builder Widget Templates with Conditional Statements](https://www.inalign.com/hubfs/BlogSitefinity/sf-hero-plain-charts-orange.jpg)](https://www.inalign.com/sitefinity/how-to-customize-module-builder-widget-templates-with-conditional-statements)

[How to Customize Module Builder Widget Templates with Conditional Statements](https://www.inalign.com/sitefinity/how-to-customize-module-builder-widget-templates-with-conditional-statements)

[More](https://www.inalign.com/sitefinity/topic/sitefinity)

---

### Subscribe to Our Blog

---

### Topics

- [Recent](https://www.inalign.com/)
- [Inbound Marketing](https://www.inalign.com/topic/inbound-marketing)
- [Technology](https://www.inalign.com/topic/tech-marketing)
- [Manufacturing](https://www.inalign.com/topic/industrial-manufacturing)
- [Energy](https://www.inalign.com/topic/retail-energy)
- [Sitefinity](https://www.inalign.com/sitefinity)

---

[![5 Conversion Killers Every Marketer Should Avoid](https://no-cache.hubspot.com/cta/default/413787/80197558-1902-4342-bb36-b0d3da7222ec.png)](https://cta-redirect.hubspot.com/cta/redirect/413787/80197558-1902-4342-bb36-b0d3da7222ec)

## This Post Was Written by Gregg Crystal

CEO and Founder of Inalign, Inc. (www.inalign.com), a full stack Software Development firm specializing in building web and line of business applications. We focus on .NET, Angular, SQL Server, and Sitefinity.

Connect with me:

<https://www.linkedin.com/in/greggcrystal/>

### About Inalign

[Visit Inalign.com](https://www.inalign.com)

### Visit Us On LinkedIn

[Visit LinkedIn](https://www.linkedin.com/company/inalign-inc)

### Check Out Our Portfolio

[Visit Portfolio](https://www.inalign.com/Portfolio/portfolio-home/)

### Get a Free Assessment

![inaligngraylogo](https://www.inalign.com/hs-fs/file-1175323414-png/Inalign/Images/inaligngraylogo.png)

## 800.602.9947

- [Code](https://www.inalign.com/custom-development)
- [Sitefinity](https://www.inalign.com/sitefinity-development)
- [Blog](https://www.inalign.com/sitefinity)
- [About](https://www.inalign.com/about-us)

## ABOUT INALIGN

Inalign is a full stack Software Development firm specializing in building web and line of business applications. We focus on .NET, Angular, SQL Server, and Sitefinity.

We’ve worked with 300+ customers on thousands of projects for over 20 years!

## FOLLOW INALIGN

[![twitter_icon](https://www.inalign.com/hs-fs/file-1175323379-png/Inalign/Images/twitter_icon.png)](http://twitter.com/inaligninc)[![linkedin_icon](https://www.inalign.com/hs-fs/file-1175323409-png/Inalign/Images/linkedin_icon.png)](http://www.linkedin.com/companies/inalign-inc)[![facebook_icon](https://www.inalign.com/hubfs/Inalign/Facebook_Icon.png)](https://www.facebook.com/pages/Inalign-Inc/171479400405)