How to Build Microsoft Office 365 Themes in WinForms
Quick Start Guide | |
---|---|
What You Will Need |
ComponentOne WinForms Edition Visual Studio 2022 |
Controls Referenced | |
Tutorial Concept | Learn how to add production-ready Microsoft Office 365 Themes to your WinForms .NET 9 applications. |
In 2024, we rolled out complete Microsoft Office 365-inspired themes for our WinForms and WPF controls. We’ve included several different Office 365 themes with ComponentOne WinForms Edition, including white, dark gray, black, green, and colorful.

In this blog, we’ll show how to create and apply a WinForms Office 365 theme for your .NET application. Plus, see how to simply preview and customize the themes throughout the sections below:
- Why Use ComponentOne WinForms Themes
- How to Apply a WinForms Office 365 Theme without Writing Any Code
- How to Preview the Office 365 Themes
- How to Customize the Office 365 WinForms Themes
Ready to Get Started? Download ComponentOne Today!
Why Use ComponentOne WinForms Themes
Windows Forms is the oldest .NET desktop platform, and while lots of improvements have been made over the past 20+ years, the overall look and feel of WinForms applications is not something that Microsoft has invested a lot of tooling into.
While you can modify system colors to an extent, the best way to build a custom theme for WinForms applications is to create all the custom controls yourself. That means generating your own buttons, tabs, menus, and everything else. This produces your own custom renderers, which allows you to customize every aspect of the style, but it’s a lot of work! This is why third-party WinForms controls are in high demand: they come with custom built-in themes on top of endless additional features.
In addition to requiring no code as a built-in feature, ComponentOne WinForms themes are also customizable. We provide a standalone Theme Designer application, which allows you to modify built-in themes and create new ones from scratch.
How to Apply a WinForms Office 365 Theme without Writing Any Code
Did you know you can apply any ComponentOne WinForms theme without writing any code? That’s what we love about WinForms.
You can apply a theme without writing any code by using the C1ThemeController component at design time. We recommend fully installing the WinForms Edition, which will also include the Theme Designer application (we’ll look at that next), but you can also get started simply by using the NuGet packages.
- Add the NuGet package for C1.Win.Themes for .NET 8+ applications or C1.Win.C1Themes for .NET Framework 4.8+ applications.
- Open a Form in design view.
- Drag a C1ThemeController and drop it on your form. A dialog box appears, enabling you to select:
- Application-wide default theme - use this to set the theme at the application level.
- Current C1ThemeController’s default theme - use this to set the theme for this form only.
- Themes for each supporting control on the form - use the table to specify different themes for each control.
For the most common scenario, set only the Application theme.
- Select any of the Office 365 themes from the list of available built-in themes, such as Office365DarkGray.
Take note that each control’s theme is set to “none " by default. This is an extra measure to protect against any accidental loss of pre-set styles on the control.
- When you’re ready to apply the theme, click the “All to Default” button. This sets all controls to “default” theme, which will fall back to either the C1ThemeController (Form) theme or the Application theme.
- Click the OK button to close the dialog and apply the specified theme to the controls on the form.
Tip: If you want to style the Window shell specifically, check out our C1RibbonForm component! While this is part of our C1.Win.Ribbon library, it can also be used on its own without the ribbon to provide a matching themed form window. Just add a reference to C1.Win.Ribbon and change the class type of your form to C1RibbonForm.
How to Preview the Office 365 Themes
If you don’t have an application to test or you only wish to preview the theme before you commit, you can easily do this using our Control Explorer demo. Access this by quickly downloading from our desktop Demo Explorer application.
Launch the WinForms Control Explorer (any version) and then find the “Themes” component in the demo under “Utilities.” Below are some previews as well:
The Theme Designer application is another great tool for previewing the theme for additional controls. We’ll cover that in the next section.
How to Customize the Office 365 WinForms Themes
With ComponentOne WinForms Edition, you will also find the tools needed to customize the included themes. The Theme Designer application can be used to create custom themes by starting with one of our provided themes. This enables you to easily tweak any aspect of our themes.
Let’s look at an example. We provide the Office 365 Green theme, which uses the white base with a green accent. Let’s say you would like to use the Office 365 theme but would prefer an orange accent instead. You can simply create a new theme using Office 365 Green as a base and then easily update the green accent colors to your color of choice.
To achieve this, make sure you have the latest version of ComponentOne WinForms Edition installed. You can launch the Theme Designer from the ComponentOne Control Panel (web installer) on the Apps & Tools page.
Click Create new theme…
Then, select the Office365Green theme to use as the base theme.
From there, you can modify the theme properties using the tree on the left. You’ll notice there is a property group named “Base Theme Properties.” This section allows you to modify common properties used across all controls. In there, you will find the (many) green accent colors set under the “Office365” node.
Your custom theme can be exported and loaded into the C1ThemeController at design time using the “Add Themes” option.
Ready to check it out? Download ComponentOne Today!
For more details, check out our documentation or watch our CodeClinic: How to Design, Theme, and Style Your WinForms Application like a Pro: