In This Topic
A user can apply themes to the C1Ribbon control in the WinForms application by selecting one of the built-in themes, which can be accessed by adding the reference assembly C1.Win.C1Themes.4.5.2.

The assembly provides the following built-in themes:
- BeigeOne
- ExpressionDark
- ExpressionLight
- GreenHouse
- MacBlue
- MacSilver
- Office2007Black
- Office2007Blue
- Office2007Silver
- Office2010Barbie
- Office2010Black
- Office2010Blue
- Office2010Green
- Office2010Red
- Office2010Silver
- Office2013DarkGray
- Office2013Gray
- Office2013Green
- Office2013HighContrast
- Office2013LightGray
- Office2013Red
- Office2013White
- Office2016Black
- Office2016Colorful
- Office2016DarkGray
- Office2016White
- RanierOrange
- ShinyBlue
- Violette
- VS2013Blue
- VS2013Dark
- VS2013DarkSolar
- VS2013Green
- VS2013Light
- VS2013Purple
- VS2013Red
- VS2013Tan
- Windows8Blue
- Windows8Brown
- Windows8Gray
- Windows8Green
- Windows8Red
- Material
- MaterialDark
- Office2016Green
In this section we have covered an example of adding the Themes functionality to through code. We have used a ComboBox control to populate the available themes. You can use any preferred control to populate the Themes. Refer the code snippet below.
Public Class ComboBoxHost
Inherits RibbonControlHost
Public Sub New()
MyBase.New(New System.Windows.Forms.ComboBox())
Dim ribbonBox = DirectCast(MyBase.Control, ComboBox)
ribbonBox.Items.AddRange(C1ThemeController.GetThemes())
ribbonBox.Text = "Select a theme"
AddHandler ribbonBox.SelectedIndexChanged, AddressOf RibbonBox_SelectedIndexChanged
End Sub
Private Sub RibbonBox_SelectedIndexChanged(sender As Object, e As EventArgs)
Dim themmeCombo As ComboBox = DirectCast(sender, ComboBox)
Dim theme As C1Theme = C1ThemeController.GetThemeByName(themmeCombo.Text, False)
C1ThemeController.ApplyThemeToControlTree(Me.Ribbon, theme)
End Sub
End Class
private void c1Ribbon1_RibbonEvent(object sender, RibbonEventArgs e)
{
//Populate the Combobox with available themes
var themeCombo = (ComboBox)comboBoxHost1.Control;
themeCombo.Items.AddRange(C1ThemeController.GetThemes());
themeCombo.Text = "Select a theme";
themeCombo.SelectedIndexChanged += ThemeCombo_SelectedIndexChanged;
}
//Apply the selected theme to Ribbon
private void ThemeCombo_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox themmeCombo = ((ComboBox)sender);
C1Theme theme = C1ThemeController.GetThemeByName(themmeCombo.Text, false);
C1ThemeController.ApplyThemeToControlTree(this.Ribbon, theme);
}
}
//Add ComboBox to Ribbon using ControlHost RibbonGroup Item
public class ComboBoxHost : RibbonControlHost
{
public ComboBoxHost() : base(new System.Windows.Forms.ComboBox())
{
}
}