Just today someone asked me how to create these and I thought it would be appropriate to dedicate blog post to it. What are contextual tab groups? Here is screenshot:

Notice the yellowish Table Tools header over the Design and Layout tabs. That is indicating that these two tabs belong to the Table Tools contextual tab group.

What would you use this for? If you display the Ribbon Tabs based on the current context, say, active MDI Child using our merging or based on current selection, then using the contextual tab groups you can indicate to the user that newly created tabs belong to certain function, like Table Tools in this case.

That helps with visual identification of added functionality to the Ribbon. It becomes much clearer that due to the certain action, like opening new form, tabs were added that are context specific.

To create Contextual Tab Groups you would follow these steps:

  • Select RibbonControl in windows forms designer and make sure that TabGroupsVisible property is set to true
  • Select RibbonTabItem in windows forms designer
  • Select the Group property in Visual Studio.NET Property grid usually located on right hand side
  • Drop down the Group property selector and select New Group
  • Expand the Group property using + sign next to it and change any properties you like, for example GroupTitle which indicates the title of the group, or Color which sets the group background color

Some of the key properties when working with the Contextual Tab Groups are:

  • RibbonControl.TabGroupsVisible which indicates whether the tab groups are visible
  • RibbonControl.TabGroupHeight which specify the height of the group in pixels
  • RibbonControl.TabGroups which is collection of all tab groups created for ribbon control
  • RibbonTabItemGroup.Color which indicates the predefined background color for the tab group
  • RibbonTabItemGroup.GroupTitle which indicates the textual title for the group displayed above the tabs
  • RibbonTabItemGroup.Style that lets you fully customizes the visual style of the group. You can change font, background color, text color etc. This object provides really very wide range of control over appearance.

Last but not least, if you are visual person like me, you will appreciate Video Tutorial that I put together so you can see all this in action and learn how to create Contextual Tab Groups in less than 2 minutes 🙂

DotNetBar is a Windows Forms component for Visual Studio.NET 2005 that helps you create professional user interfaces with ease.

[tags]DotNetBar, Office 2007, Ribbon, Windows Forms, Visual Studio, Components[/tags]


We just released huge new version of DotNetBar Suite with over 30 new features and enhancements. The 6.0 release is centered on enhancing your productivity and providing you with the set of tools to create professional user interface with minimum code.

I tried to cover some of the new features in previous posts so here is the summary:

Note that I have not covered all of it 🙂 and will continue to write in coming days so stay tuned.

I would also like to extend my gratitude to all our customers that gave us tremendous help and support during 6.0 development.

DotNetBar is a Windows Forms component for Visual Studio.NET 2005 that helps you create professional user interfaces with ease.

[tags]DotNetBar, Ribbon, Office 2007, WinForms, Visual Studio, Components, DevComponents[/tags]


Ribbon control is designed to simplify the access to large number of commands for the end user and it really does a great job in doing so. That however creates the opportunity for your code to be centralized in a single form with the Ribbon control. Would it be neat if things were easier for us developers as well?

DotNetBar 6.0 includes built-in, no code required, Ribbon MDI Merging functionality. If your application uses MDI interface, you can take advantage of this great feature that merges MDI Child Ribbons into the main MDI Ribbon completely automatically.

How do you use this?

At design-time you add RibbonBarMergeContainer to your MDI Child forms. Inside this visual container, which is not visible at run-time, you add your RibbonBar controls. You handle the RibbonBar events and write the code for event handlers inside each MDI Child form.

At run-time, you display your MDI Child forms as usual and the RibbonBar controls that you have placed inside the merge container automatically merge into the MDI Parent Ribbon Control. New Ribbon Tab (default) or an existing tab will be used.

We take care of the displaying the relevant Ribbon tabs as your MDI Child forms are activated and we also clean up after you close them. You can merge the MDI Child RibbonBar controls into an existing tab and we provide you with the plenty of events that fire before and after each action is completed.

No code is needed, to enable this feature. It is completely design-time based; you design everything on the form directly.
To help you better visualize and get the feel for this I created a Video that will teach you how to use this feature in under 4 minutes. See it here.


DotNetBar is a Windows Forms component for Visual Studio.NET 2005 that helps you create professional user interfaces with ease.[tags]DotNetBar, Office 2007, Ribbon, MDI, Windows Forms, Visual Studio, Components, WinForms[/tags]


DotNetBar 6.0 goodness, Part 3

One of many new features in DotNetBar 6.0 are Office 2007 style Galleries. What is Gallery? It is a component that presents the choice to the user visually. It also gives you flexibility in how you present the commands to the user. For example, instead of standard textual menus commands or just a small image on toolbar, you can display large image that actually shows what the command does, say image alignment inside of document or how document template looks like.

If I had a dime for every time I’ve heard “Can you make that image larger?” 🙂 Now it is much easier. Most galleries use images sized 32×32 pixels and larger.

Main features of Gallery component are:

  • Scrolling ability
  • Drop-down ability to display all possible choices on popup menu
  • Ability to host any of our items, buttons, labels, check-boxes etc.
  • Flexible layout

Here is screenshot of Gallery on ribbon control:

And here is the screenshot of the same gallery expanded so it is shown on drop-down:

Our Office 2007 style Gallery component provides you with the lots of flexibility, but minimum coding. Actually, for most common scenarios you do not have to write any code at all to get the full Gallery functionality. Here are main features:

  • Ability to automatically resize itself on Ribbon. You can specify Default Size, Minimum Size and whether Gallery can resize at all.
  • Two auto-sizing modes
    • Incremental, Gallery is resized so only whole items fit inside of it
    • Free size, Gallery is resized to fill available space
  • Automatic drop-downs. You do not have to write any code to drop-down gallery. It is completely automatic.
  • Scrolling support in both inline and popup mode. If popup cannot fit the screen Gallery will automatically enable the scroll bars so you can scroll through the options.
  • Additional menu items when in popup mode. In picture above you can see that 3 additional menu items were added that are not displayed when gallery is displayed inline.
  • Ability to display arbitrarily-sized graphics. The layout engine inside of the Gallery is very flexible and you can use any image size even very large images.
  • Ability to host any DotNetBar item. You can add standard buttons, labels, check-boxes, option boxes, containers etc.

I know it is hard to visualize how this all actually works so we created a Movie Tutorial. It will teach you how to create and use galleries in under 4 minutes. It is that easy 🙂

That is all for today… More on Monday…

DotNetBar is an easy to use Windows Forms component for Visual Studio.NET 2005 that helps you create professional user interfaces with ease.

[tags]DotNetBar, Office 2007, Office 2007 Galleries, VS.NET, Windows Forms, Visual Studio, Components, WinForms[/tags]


DotNetBar 6.0 goodness, Part 2

For todays post I picked an easy target 🙂 menus, toolbars and context menus. As opposed to previous versions, in DotNetBar 6.0 the menus and toolbar are designed directly on the form. It is very easy to create and maintain menus and toolbars. You can watch short Video that shows how to do that here.

One of the often overlooked features in DotNetBar is the Global Items feature. It is demonstrated in that video, but in short it lets you connect the buttons that perform same function in UI, like Save, so that certain properties are replicated to all instances of the same command. You do that by tagging the items using GlobalName property.

Imagine, in most applications you have Save, Open, New etc. commands that are replicated in at least two places: Menu and Toolbar or Ribbon and Quick Access Toolbar or Menu. Now each instance is separate, so when you disable one instance, unless all instances are connected, you have to disable every single one. In DotNetBar, you just tag them with same string and they all get disabled when you disable any one of the commands. You can read more about global items feature in help file where all properties that are replicated are listed.
The menus we have are really flexible. You can for example host other controls on them, any .NET Windows Forms control will do. Here is screenshot of context menu from the Context Menu Bar Video that is hosting standard ListBox control:

The check boxes above are the new item type introduced in DotNetBar 6.0. You can use them on toolbars, ribbon control or on any other DotNetBar control that lets you add items to it.

Using containers you can create very rich menu layouts. For example using combination of vertical and horizontal container we create the Office 2007 style start menu pictured below:

Each container can also be styled through our ElementStyle class which you can use to specify gradient background, borders etc.

The real power though comes with the Text-Markup that all our buttons support. Text-markup lets you visually decorate menus and toolbars. Hard to visualize? Here is screenshot:

Notice how the text is structured for each item. Text-markup is small subset of HTML that we implemented. We designed that from ground up so it is efficient and it renders fast. That was one of the top requirements so you do not see any slow downs on menus or toolbars due to the rich rendering.

DotNetBar is an easy to use Windows Forms component for Visual Studio.NET 2005 that helps you create professional user interfaces with ease.
[tags]DotNetBar, VS.NET, Ribbon, Office 2007, Menus, Toolbars, Components, Visual Studio[/tags]


DotNetBar 6.0 goodness, Part 1

No, it is not released….. Yet. We are still testing the 6.0 build, but I had to begin sharing the good stuff we’ve been working on. There is just so much of it 🙂

In this post I will highlight the completely new DotNetBar Docking Windows, Menus and Toolbars designer. Many of you asked for easier on the form creation of dockable windows, menus and toolbars without using our popup dialog designer.

I am delighted to report that in 6.0 the designer interaction is all new and you create, manage, and change dockable windows, menus, and toolbars directly on the form using the Visual Studio 2005 designer verbs (either through right-click or action menu for the control).

There is no more external popup dialog designer since all operations can be performed directly on the form. You can also add the content for your dockable windows using simple drag & drop.

So how does all that look like? Here is the Movie Tutorial for the 6.0 dockable windows feature that shows all this in action. It is about 3 MB large. Check it out.

[tags]DotNetBar, VS.NET, Visual Studio, Components, Dockable Windows[/tags]


Visual Studio 2003 SP1 out

I thought we’ll never see this 🙂

See: http://blogs.msdn.com/robcaron/archive/2006/08/16/702177.aspx

Download link:

It seems that Micosofts release notes Knowledge Base link is not working at the time of this writing so hopefully the release notes are included in download.


Blogging engine updated

After using dasBlog for over 2 years I decided to change the blogging engine and use WordPress instead. This is mainly due to the better community support and availability of many plug-ins etc. I also like the administration site much better.

Update your feeds using the feed link on the right side bar since the feed uses new URL.


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

© 2009 Denis Basaric: DevComponents Blog