Windows Ribbon for WinForms, Part 0 – Table of Contents

23 בדצמבר 2009

First I want to announce that the Windows Ribbon for WinForms library is no longer beta.


Since now the library covers every feature available by the windows ribbon I think it would be useful to provide a table of contents for the posts I've written during the development process. Each post serves as documentation on how to use one or two ribbon features.


Windows Ribbon for WinForms, Part 1 – Introduction: Background on the windows ribbon.
Windows Ribbon for WinForms, Part 2 – Basic Ribbon Wrapper: Basic .NET wrappers for windows ribbon.
Windows Ribbon for WinForms, Part 3 – First WinForms Ribbon Application: How to create an empty WinForms application with ribbon support.
Windows Ribbon for WinForms, Part 4 – Application Menu with Buttons: How to use the ribbon application menu.
Windows Ribbon for WinForms, Part 5 – Application Menu with SplitButton and DropButton: How to use the ribbon application menu with ribbon split button and ribbon drop button controls.
Windows Ribbon for WinForms, Part 6 – Tabs, Groups and HelpButton: How to use ribbon tabs, groups and the ribbon help button control.
Windows Ribbon for WinForms, Part 7 – Spinner: How to use the ribbon spinner control.
Windows Ribbon for WinForms, Part 8 – ComboBox: How to use the ribbon combo box control.
Windows Ribbon for WinForms, Part 9 – Changing Ribbon Colors: How to change the ribbon colors.
Windows Ribbon for WinForms, Part 10 – Working With Images: How to work with images in the ribbon.
Windows Ribbon for WinForms, Part 11 – DropDownGallery, SplitButtonGallery and InRibbonGallery: How to use the ribbon drop down gallery, split button gallery and in ribbon gallery controls.
Windows Ribbon for WinForms, Part 12 – CheckBox and ToggleButton: How to use the ribbon check box and toggle button controls.
Windows Ribbon for WinForms, Part 13 – DropDownColorPicker: How to use the ribbon drop down color picker control.
Windows Ribbon for WinForms, Part 14 – FontControl: How to use the ribbon font control.
Windows Ribbon for WinForms, Part 15 – Use Ribbon as External DLL: How to load ribbon resources from external DLLs.
Windows Ribbon for WinForms, Part 16 – ApplicationModes: How to work with ribbon application modes.
Windows Ribbon for WinForms, Part 17 – ContextualTabs: How to work with ribbon contextual tabs.
Windows Ribbon for WinForms, Part 18 – ContextPopup: How to work with ribbon context popup.
Windows Ribbon for WinForms, Part 19 – RecentItems: How to work with ribbon recent items control.
Windows Ribbon for WinForms, Part 20 – QuickAccessToolbar: How to work with the ribbon quick access toolbar.
Windows Ribbon for WinForms, Part 21 – SizeDefinition: How to define custom size definitions for ribbon group elements.


That's it for now,
Arik Poznanski.

kick it on DotNetKicks.com Shout it

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

19 תגובות

  1. Omni1 בינואר 2010 ב 8:23

    Is it possible to dynamically change the ribbon at runtime? (eg. add/remove items)

    להגיב
  2. arik1 בינואר 2010 ב 11:34

    You can dynamically add items at runtime only to the galleries controls:
    ComboBox, SplitButtonGallerty, DropDownGallery and InRibbonGallery

    If you know what you want to add from advance you can use ContextualTabs and ApplicationModes to change the visibility of (predefined) tabs and groups.

    Unfortunately, you can add dynamically groups at runtime.

    Note this is a limitation in the Windows Ribbon Framework and not in the wrapper library.

    להגיב
  3. George28 בינואר 2010 ב 23:07

    I am trying to develop a winforms application in XP with SP3 which according to the Win 7 SDK release notes it is a supported OS, I have Visual Studio 2008 SP1 and all updated with latest updates from windowsupdate and then I try to run any example i get an error saying that cannot find the Ribbon in the system!
    Can you please help?

    A few paragraphs from release notes of Win 7 SDK:

    "Users running Windows Server 2003 and Windows XP must install the .NET Framework 3.0 or 3.5 SP1 to run and develop .NET Framework applications. Some samples and tools included in the Windows SDK also require you to install .NET Framework 3.5 SP1."

    "3. Supported Compiler, Platforms, and Related Software

    This release of the Windows SDK supports Microsoft Visual Studio 2005 SP1, Microsoft Visual Studio 2008 SP1, and the Microsoft Visual Studio 2008 Express Editions. Express Editions of Visual Studio are available to download from the Visual Studio Express site free of charge.

    This release of the Windows SDK supports x86, x64, and IA64 platform architectures for building and running applications on Windows XP SP3, Windows Server 2003 R2, Windows Vista, Windows Server 2008, and Windows 7."

    להגיב
  4. arik29 בינואר 2010 ב 13:26

    Windows 7 Ribbon is only supported on:

    * Windows 7
    * Windows Vista with Service Pack 2 (SP2) and Platform Update for Windows Vista
    * Windows Server 2008 R2
    * windows Server 2008 with SP2 and Platform Update for Windows Server 2008

    Specifically, Windows XP is not supported.

    להגיב
  5. Jonathan29 בינואר 2010 ב 21:18

    Is it possible to implement the DialogLauncher button that appears in the right bottom of several groups in Office 2007/2010? WordPad in the Windows 7 beta had these buttons, but I haven't been able to find any reference to it in the Windows Ribbon documentation.

    להגיב
  6. arik29 בינואר 2010 ב 22:31

    The DialogLauncher feature seem to be removed from the Windows Ribbon framework between the beta version and the final version.
    So, no DialogLauncher.

    להגיב
  7. George30 בינואר 2010 ב 2:42

    So, once again microsoft ignored what software companies and developers have been asking which is make this type of frameworks available for XP!
    Most software companies cannot justify (cost, support, etc…) to have 2 versions of the same software, one that works in Windows XP and another one that works in Windows 7 with all the bells and whistles!
    Microsoft should know better and have learned the lesson with Vista! The fact is that 90% of companies that had XP will carry on with XP until windows 7 SP1 comes out and more than 2/3 of them will not move to windows 7! XP is stable and companies cannot justify spending so much money rolling out windows 7 especially in the next few years!
    SO, we, software professionals cannot modernise our software for the next 2 years and that is Microsoft's fault!
    If they had made a lot of this stuff backwards compatible to XP then most apllications could look similar in windows XP and windows 7 which can be only a plus when companies decide to move to windows 7!
    Alternatively, we can use third party .NET components that will do the same so that is probably the best solution for most of us!
    Which makes this Ribbon framework useless in the real world and only useful for a few techies and microsoft developers.

    להגיב
  8. arik30 בינואר 2010 ב 23:15

    Serious companies can provide a single version that will work both on XP and Windows 7, leveraging the available operating system features.

    Although Vista had a bad reputation, it offers a lot of changes and new features in Windows. Windows 7 enjoys these feature and builds upon them, for example see "Desktop Window Manager" [msdn.microsoft.com/.../aa969540(VS.85).aspx]

    Windows Ribbon Framework is one of the many features added in Windows 7.

    Surely you don't expect to get every Windows 7 feature in Windows XP just because you have "Windows Update" turned on…

    להגיב
  9. Tom Majek22 בפברואר 2010 ב 7:37

    Can you please add documentation or an example of how to use the wrapper as a embedded resource instead of a external dll? Thanks

    להגיב
  10. arik2 במרץ 2010 ב 10:15

    To use the ribbon as an embedded resource, see Part 3 of series, with the following comments:
    * In step 3.1, you don't need the third line (compiling the RES file into a dll using link.exe)
    * You need to attach the native resource file to your application, see the erased step 3.3

    להגיב
  11. Tom Majek4 במרץ 2010 ב 22:17

    thanks! I love this ribbon wrapper it's very well written and easy to use. learning wpf is the hard part

    להגיב
  12. Tom Majek5 במרץ 2010 ב 19:00

    One more question… when using the wrapper as a embedded resource, do I still initialize it with InitFramework(this) or should I use one of the overloaded methods? Thanks

    להגיב
  13. arik6 במרץ 2010 ב 17:47

    You should still InitFramework. The implementation will check if the ribbon dll exists and if not will go and search the ribbon resource in the current assembly, under the default resource name "APPLICATION_RIBBON".

    I encourage you to check the code yourself to better understand it.

    להגיב
  14. Tom Majek8 במרץ 2010 ב 2:27

    Thanks again for all the help! I succesfully made the ribbon skip initialization if the user is on xp, and use a regular MainMenu in it's place :) I reccomend this for anyone who doesn't want their apps restricted to windows 7.

    להגיב
  15. George25 במרץ 2010 ב 12:12

    Arik you said "Serious companies can provide a single version that will work both on XP and Windows 7, leveraging the available operating system features."
    Well, how can we do that if the ribbon framework doesn't work in XP?! Sorry but you missed the point completelly! Of course we can use 3rd party control and build a single version that will work across different OS, but my point is that in the real world this ribbon framework is useless because it does not work in XP, which means we would have to use another control to make it work in XP!
    So from my perspective how can I justify to my MD developing an application that has 2 menu systems? 1 to work only in XP and 1 with the ribbon framework?! There's no way I can justify that cost so in business terms that ribbon framework is useless in the real world! It is cool to play with it and for a few techies, that's all…unless you know something that I don't know about using the ribbon framework also in XP?!
    I hope you understand now what I mean!

    להגיב
  16. arik25 במרץ 2010 ב 14:06

    What i've meant is that advanced application can detect the OS version and use the ribbon if available, thus providing an advanced UI system. If the ribbon in not available (like in Windows XP), they should roll back to thier default menus/toolbars.

    Having multiple UI systems to support multi-platform is quite common and was one of the reasons for inventing the common Abstract Factory design pattern.

    להגיב
  17. majek10 באוגוסט 2010 ב 13:37

    Is it possible to add textboxes to the ribbon? If not is there a way to make the combobox control look like a textbox?

    להגיב
  18. arik12 באוגוסט 2010 ב 21:19

    Well, you can create a combobox that allows free text, with no elements.
    I will still look like a ComboBox (with the arrow) with an empty list items..

    You can't have any other TextBox in the ribbon.

    להגיב
  19. Frederik Van de Velde8 בינואר 2012 ב 17:11

    Is it possible to disable, enable buttons during application run?

    להגיב