Elements / Ribbon Items / Control Host
Control Host

The Control Host item enables the user to add a hosted control in the RibbonGroup of the C1Ribbon control. A ControlHost item can be added both through the designer as well as code. In both the cases, the user has to programmatically configure the hosted control in the MainForm. Let's say a user wants to add a TextBox control. For this, the user needs to create a new TextBoxHost class that inherits the RibbonControlHost element. Likewise, in order to add a ComboBox control, the user can create a new ComboBoxHost class that inherits the RibbonControlHost element.

The following sections cover in detail about the configuration of a ControlHost in the C1Ribbon control via both the designer and code.

By Designer

Complete the following steps to add a standard TextBox control to a Ribbon group via the designer:

  1. Open the MainRibbonForm to view the Ribbon Form, and select View Code to open code view.
  2. Add the following code to your project to create a new TextBoxHost class that inherits the RibbonControlHost element:
    Public Sub New()
        MyBase.New(New System.Windows.Forms.TextBox())
        MyBase.Text = "This is a sample text."
    End Sub
    
  3. Build and close your project, and then return to Design view.
    Note: This is an important step, without which you will not be able to add ControlHost from the floating toolbar in the Design view.
  4. Open the floating toolbar of the Group to which you want to add the ControlHost item.
  5. Click the Actions button, and select Add ControlHost.

    Control host
  6. The Adding RibbonControlHost dialog box will launch. The dialog box will request the class name of the RibbonControlHost. Enter the name of the control host in the Adding RibbonControlHost dialog box in this format "ProjectName.TextBoxHost".
    Controlhost textbox               
    Note: When you again add a TextBoxHost element, you won't have to type its name. The name of this class will be available in the drop-down list in the Adding RibbonControlHost dialog box.

  7. Click OK to close the Adding RibbonControlHost dialog box.

Notice that the TextBox control now appears in the Ribbon group.

Textbox controlhost

The user can customize the look of the Ribbon ControlHost using the Ribbon TrackBar Floating ToolBar or by editing the properties in the Properties Window. For more information about floating toolbars, refer this topic.

The image below shows the floating toolbar of TextBox ControlHost.

Floating toolbar

By Code

The RibbonControlHost item can be added programmatically with the RibbonControlHost class as shown in the code below:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim textboxHost As RibbonControlHost = New RibbonControlHost()
    textboxHost = New AddRibbonItems.TextBoxHost()
    formatGroup.Items.Add(textboxHost)
End Sub

Public Class TextBoxHost
    Inherits C1.Win.Ribbon.RibbonControlHost

    Public Sub New()
        MyBase.New(New System.Windows.Forms.TextBox())
        MyBase.Text = "This is a sample text."
    End Sub

Availability in the Dropdown

When the Ribbon is switched to its Simplified state, you can easily view the RibbonControlHost using the dropdown button as shown in the snapshot below.

An application with RibbonUI