Archive for 2007

Krypton 2.6.5 CTP ReleaseNote that this is NOT a full release of the Krypton Toolkit. This is a Community Technology Preview (CTP) and intended for early adopters that want to experiment with the new additions.Please post any bug reports with this CTP to this forum and not the regular Toolkit forum.

New Features
- KryptonComboBox
- KryptonTextBox
- KryptonRichTextBox
- Toolkit controls use KryptonContextMenu
- ButtonSpecs use KryptonContextMenu
- Navigator/Ribbon use KryptonContextMenu
- Ribbon uses KryptonComboBox/Text/RichTextBox

Not yet implemented
- Ribbon Application Menu
- Palette Designer support for KryptonContextMenu
- Design time interface for editing KryptonContextMenu

[Download Link Remove]

The KryptonNavigator now uses the KryptonContextMenu for the menus that it provides. Here you can see the context button showing the Krypton version of the context menu…

I’ve added a new property to the KryptonPage called KryptonContextMenu. Now when you right click the client area of the page it will by default show any defined KryptonContextMenu property. If the property is not defined it will fall back to using the ContextMenuStrip, if set, as it is the existing functionality…

But the biggest change is a new event KryptonNavigator.ShowContextMenu that is fired when you right click a page header. This property allows you to specify a context menu (KryptonContextMenu or ContextMenuStrip) that you would like displayed relevant to the page. You can use this to have a menu with Save, Close, Close All or other page specific commands exposed.

 

Now we have the basic KryptonContextMenu up and working it’s time to incorporate into the various Krypton controls. First up is the KryptonRibbon. The control itself now uses our new context menu for all the built in menus such as the quick access toolbar customization menu…

 Not much difference from the previous menu except it has the correct border rounding and a heading as the first item. You can also specify our new menu as the context menu to be shown for a drop down or split style group button. Here you can see one being shown…

But you are not forced into using the KryptonContextMenu, you can still assign a standard ContextMenuStrip as in the past and it will use that. So your existing code will continue to work and you can migrate across ‘as and when’ you decide to do so.

If you wondering about the special context menu that appears from the application button then do not worry. I have no forgotten about it. Once all the controls are updated and documentation added I will be releasing a CTP so early adopters can play around with the latest bits. Then I will get to work on the app button context menu for the full release towards the end of the year.

SubMenu
Finally I have the ability to actually show a sub menu when the mouse hovers or presses an item that has a child collection of items. Here you can see a simple example…

SplitMenu
A nice feature in Office 2007 is the ability to split a menu item that has a collection. So if you press to the left of the item splitter it acts like a regular menu item, generating a click event and closing the menu. If you press to the right of the splitter or just hover over the item then it shows the sub menu. You can see the splitter here…

This is useful in the example shown. Here if you pressed the Open item to the left of the splitter you could open up a regular windows open dialog for selecting a file to open. But the sub menu still allows you to select recently opened documents such as OldFile.txt.

So you get the best of both worlds with a simple and obvious interface. Here you can see how it looks with the system palette…

 

Bounce
When you open up a sub menu it needs to check to ensure it does not display partially off the screen. If you play with a regular menu you will notice that it bounces around the screen. Now the KryptonContextMenu does the same thing. Here I have a three level menu structure…

When the first sub menu opens it defaults to being on the right hand side and below the selected item. But opening the next level of sub menu would have caused it to show off the monitor. So instead it bounces and now opens on the left side of the parent selection. This works against any of the monitor edges. When it bounces it keeps going in that direction, so if I had opened up even more levels it would keep opening to the left side until it then reaches the left monitor edge.

 It can be quite funny creating a menu with 50 sub menu levels and constantly opening them to see the menus bouncing around the screen.

For me the hardest part of marketing is reaching the target audience, in our case .NET WinForms application developers that might find the Krypton components of value. 

The free Krypton Toolkit is the main marketing channel for Component Factory. By offering a free library of professional controls I hope that word of mouth will spread the company name and knowledge of our commercial controls. But not all developers will stumble across the Toolkit or have it recommended by a friend.

My second channel for reaching developers is the use of Google Adwords. I have been using AdWords for over six months and it definitely helps reach developers that would otherwise never have downloaded the Toolkit. By setting up the conversion tracking I can see exactly how much it costs to get each new downloader and then compare this with the average sales value of a download. By keeping the first less than the second I know that it generates positive revenue.

This week we now have a third channel up and working, our first reseller offering the Krypton components for purchase. ComponentSource.com is the largest online reseller of developer components and will reach another group of purchasing developers that would not otherwise have heard of Krypton. You can check out my product listing by clicking this image….

By having three different ways of reaching the target audience I hope to keep expanding the already large community of developers using Krypton Toolkit in their projects.