About BCGControlBar Library for .NET

Create .NET applications with an user interface similar to Microsoft Office or Windows.

BCGControlBar Library for .NET contains a number of highly customizable, fully designable components that enable you to create the most sophisticated user interface. The library includes fully-customizable Office-style toolbars, ribbons and menus, Visual Studio-style docking bars, auto hide control bars, MDI tabs, flexible visualization managers and more.


BCGControlBar for .NET contains a number of highly customizable, fully design-able components that enable you to create the most sophisticated user interface.

1. Visual Managers:

You can use the following visual styles:

  • Office
  • Visual Studio

2. Office/Visual Studio-style Toolbars and Menus:

  • Full, Quick and Alternative customization.
  • Built-in 'Customize' dialog with Image Editor
  • Edit box and combo box buttons:
  • Built-in support for 'Toolbars' menu
  • Drop-down palettes
  • Extendable architecture enables you easily create custom button types
  • Command-oriented design. You can assign a single command to several toolbar and menu buttons. You can manage command properties via properties of selected button and get all related toolbar and menu items updated at once. At the same time you can customize appearance of individual buttons.
  • 'ExecuteCommand' event (an event sent by the framework when user clicks a button) can be handled either for each button (command) individually, or in one central place
  • Scrollable menus
  • Automatic generation of 'disabled' images
  • Owner-draw buttons
  • Support for 'Item lists'. Item list is an automatically expanded menu item which is present as a single item in customize mode or design time (like list of Windows in MDI application) * Support for idle processing. You can process events fired for each button at idle time and immediately update button state.
  • Ability to customize popup menus on the fly
  • Support for 'rarely used' commands
  • Persistent state

3. Docking control bars

  • 'Smart' docking
  • 'Standard' docking:
  • Nested docking:
  • Auto hide bars
  • Tabbed groups
  • Built-in support for 'Window Position' menu
  • Close, Pin and Window Position buttons can be added and removed at runtime. Support for custom caption buttons
  • Support for Tabbed Documents (for applications with MDI Tabs only)
  • Customizable caption height (in docked and auto hide state)
  • Accurate state (dockable-floating-auto hide) transition
  • Borders around docking control are properly drawn by the framework for each visual style. At the same time you can customize border size for individual controls
  • Persistent state

4. MDI Tabs

  • MDI Forms are automatically added to MDI Tab group
  • Multiple tab containers divided by splitters (not implemented in the first release)
  • Automatic integration with 'Windows' menu
  • Built-in context menu, which can be customized on the fly
  • MDI Tab groups can be customized at design time and at runtime via a separate component 'MDITabsOptions'. You can change MDI Tab group appearance, tab layout and tab alignment.
  • It's possible to display two icons (right and left of the text) for each MDI Tab

5. Tab Control

  • Fully designable 'tab strip' and 'tab' controls
  • Horizontal and vertical alignments:
  • It's possible to set two images (right and left) to a tab item:
  • Various visual styles
  • Tab Strip control can be 'detached' from control area. Each tab item has a property 'RelatedControl', but it's not necessary to set this property. In this way you can perform any actions just responding to SelectedTabItemChanged event.
  • Support for custom color themes
  • TabDrawManager is separated from Visual Managers. You can provide your own drawing algorithms and still use standard color themes.
  • Several layout types (Fixed, Compressed, Auto Size and more)

6. Property List Control

  • It implements the functionality of a list control that displays a hierarchical list of editable properties.
  • The following data types are supported by control out of the box: String Numeric Double List of options (combo box) Boolean Color Font In addition, a developer can provide own data types.

7. Enhanced Tooltips: The library provides an easy way to implement advanced multi-line tooltips with custom colors, rounded shapes and icons. In addition, a developer can use the standard balloon-style tooltips along with the library GUI elements such as toolbars, menus, tab controls and create custom owner-draw tooltips.

8. Office-style Outlook (Shortcuts): Bar Outlook Bar is a navigation pane similar to the navigation pane found in Microsoft Office

9. Ribbon Control

The following gadgets are supported by the Ribbon Control:

  • Button

Button group

  • Menu button and split menu button
  • Separator
  • Label
  • Check box
  • Color picker
  • Font picker
  • Edit box
  • Track bar
  • Gallery
  • Gallery-based combo box

The Ribbon Control implements the following features:

  • Full Microsoft Visual Studio designer support
  • Smart panel layout. You can design panels (category items in terms of the library) with elements aligned vertically (by column), or horizontally (by line)
  • Each ribbon element (button) supports three collapse states: Large, Intermediate and Small
  • Collapsible category items. When there is no space to display all panel elements, the panel is collapsed to a default button and displayed on popup menu
  • Scrollable categories. When there is no space to display all category items in collapsed state, the parent category displays scroll bars
  • Context category groups. Each context category group may contain of one or more category items and may be assigned one of 8 predefined colors
  • Quick Access Toolbar (QAT).You can place frequently used commands on QAT. It is possible to put on QAT commands that are not located in Ribbon
  • QAT Customization. A flexible mechanism allows you to integrate your own forms (options) with library-defined Customization form and show them all together in combined Options dialog
  • Launch buttons - small elements that can be added at the right bottom corner of a category item and may be set to execute commands logically common for the parent category item
  • Gallery control. Gallery is encapsulated in a special toolbar button-derived object. A gallery may be in-Ribbon and popup. Popup menu can display a gallery along with regular popup menu items. A popup menu, which displays a gallery may be resizable
  • Gallery may work in so called "menu mode". Galleries behave in "menu mode" like regular popup menus with exception that such popup menu can be resized, can display scroll bar and can display checked items
  • You can easily create owner-draw galleries
  • Main Application Button
  • Customizable status bar
  • Persistent state

BCGGrid for .NET : You can use this advanced grid control in various applications, ranging from basic grids and simple reports to complex Excel like applications

General features

  • Unlimited number of items in a row.
  • Unlimited number of rows.
  • Single and multiple row selection.
  • Single and multiple column selection.
  • Single and multiple item selection.
  • Sorting by single or multiple columns.
  • Hide / Show Columns.
  • Drag and drop of columns.
  • Integrated Field Chooser.
  • In-place field editing.
  • Keyboard navigation.
  • Extended tooltip support / in-place tooltips
  • Column resizing.
  • Row resizing - variable row height.
  • Automatic column resizing.
  • Row headers with or without row numbers.
  • Read only mode.
  • Preview Pane support.
  • "Select All" box.
  • Mouse wheel support.
  • Print support.

Cell Types

  • Text
  • Masked text
  • Password
  • Numeric
  • Image
  • Image and Text
  • Check box
  • Combo box
  • Command button
  • Date time picker
  • Spin control
  • Push button
  • File browser
  • Folder browser
  • Font browser
  • Hyperlink
  • Image list
  • Color picker
  • Custom cell types

Virtual Mode

  • Ability to set number of rows in advance.
  • Events requesting data only when the data has to be displayed.
  • Sorting in virtual mode.
  • Editing in virtual mode.
  • Ability to define Visual Styles for individual cells in virtual mode.

Grouping support / Report control

  • Drag and drop of column headers to Group By box.
  • Show or hide Group By box.
  • Multi column tree.
  • Customizable group rows.
  • Single and multiple selection.
  • Column auto resize.
  • Ability to display "new row" in Group mode.
  • Ability to delete a group with all sub-rows.


  • Single filter mode - filter flag is set at the row level.
  • Multiple Filter mode - filter flag is set at item level.
  • Ability to hide filtered out rows.
  • Ability to set height to 0 for filtered out rows.

Merged Cells support

Data bound grid

  • Ability to bind to any data source at design or run time.
  • Ability to combine data bound and unbound columns in one grid.
  • Grouping support for data bound grids
  • Delete rows and groups.
  • "New row" support.

Color Themes

  • Support for all standard color themes
  • Support for custom color themes
  • Visual Style serialization - persistent visual styles
  • Special visual style for alternative rows.

Microsoft Excel-style Grid control

  • Authentic Excel look and feel.
  • Automatically generated rows and columns.
  • Load and Save grid content (data).
  • Export to HTML and RTF (currently implemented in example)
  • Sorting by moving data between rows.
  • Cell borders - thick and thin borders with different line styles.
  • Text over floating - text is drawn over adjoining cells if they are empty.
  • Text wrapping and trimming.
  • Edit control is extended over adjoining cells as you type.
  • Ability to define Visual Styles for individual cells. A Visual Style includes: gradient background color, text color, font, formatter, border style, content alignment and more.
  • Variable row height.
  • Table style formatting.

Other features

  • Ability to assign one data storage to several grids
  • Events allowing to synchronize grids working with the same data.
  • Visual Style Editor, which allows to Save and Load visual themes.
  • Layered architecture - visual styles of all cells are assembled from Visual Styles assigned to item->column->row.
  • Large number of customization features and options.
  • Full designer support.

Calendar bar control

  • Single and multiple month mode
  • Multiple day selection
  • Display week numbers
  • Display "Today" button
  • Caption with gradient fill
  • Navigation menu
  • Owner draw