The most requested feature for the KryptonRibbon is an application menu that mimics Office 2007. The existing use of a standard ContextMenuStrip is functional but inadequate. It just looks wrong. I started work on the Krypton implementation of this feature last week. You can see below what I have implemented so far…
![]()

A new property called AppButtonMenuItems allows you to specify the set of items in the menu portion of the window. Anything that can be placed into a KryptonContextMenu can also go here, so you can have headers, separators, menu items and any other types added in the future.
Another new property AppButtonSpecs allows you to specify a set of ButtonSpec definitions. These are displayed on the bottom line of the window and can be seen above as Options and Exit buttons. These allow all the options of Toolkit ButtonSpec definitions, so you can specify an image, text and extra text values.
There are ribbon level events for the Opening, Opened, Closing and Closed actions on the application menu. These operate in the same way as the events on a KryptonContextMenu. They allow you to cancel the showing of the menu and also customize and update item state before the menu is shown.
TODO
1, I need to get the bottom half of the application button drawing in the popup window so it looks as if the window is placed underneath the application button.
2, Allow the definition of a ‘Recently Documents’ list of items. These items would be shown as a vertical list to the right of the menu items and mimic the ‘Recent Documents’ list of Office 2007. This feature would be optional so that applications that do not need this ability can provide no entries and so the list would not be shown.
3, Implement correct keyboard operation. At the moment only the menu items respond to the TAB and navigation keys. I need to get the button specs and the ‘Recent Document’ entries integrated into the keyboard actions.
4, Any other developer requests that seem reasonable!