Archive for the ‘Krypton Navigator’ Category

One of the new features of .NET Framework 4.0 is the introduction of Client Profiles. The Client Profile is a cut down version of the full .NET Framework that only includes the essential assemblies needed for client based applications. The idea is to reduce the download/install size for this common deployment scenario. Design time classes are not part of the client profile because they are implicitly only needed for designing and not for running your applications.

At the moment Krypton cannot be used in this situation because the Krypton design time classes are placed inside the same assembly as the relevant controls. So the Krypton Toolkit design time classes are inside the Toolkit assembly, Krypton Ribbon design time classes inside the Ribbon assembly and so forth. But the design time assembly is not included in the client profile and so the Krypton assemblies will not be loadable.

To enable this scenario I have now created a new ComponentFactory.Krypton.Design assembly and moved all the design time classes into it. This means you can write a client profile application that references the Krypton Toolkit/Ribbon/Navigator/Workspace/Docking assemblies and it will work just fine because the Krypton assemblies no longer reference the System.Design namespace.

Note that client profiles are a feature exposed in Visual Studio 2010 and so you will only be aware of them if you have downloaded and played with that version.

The KryptonPage has two new flags…

  • AllowPageDrag
  • AllowPageReorder

These are used in conjunction with the Navigator flags of the same name to decide if the page can be dragged out of the navigator control or reordered. This provides per-page control over the actions rather than having the same restriction applied to all pages.

A new Navigator event called BeforePageReorder is also added that allows you to cancel the movement of a page during reordering actions. This allows the following common scenario to be implemented.

If you have a page that you want to remain always at the start of the set of pages then you can set the AllowPageReorder flag to False for that page. This prevents the user from being able to reorder that individual page. Then you can intercept the BeforePageReorder event and Cancel the event any time a page wants to be moved before our first page. Now you have a setup where all but the first page can be reordered but none of the pages can be moved before the first one. You could also implement more complex requirements such as always keeping a particular page after another in the list of pages. Although anything that complex is likely to confuse the user.

Note that these new flags and event only relate to user dragging actions. You can still add a page anywhere you like programmatically.

This is a maintenance release that contains bug fixes and just a single change in functionality. I recommend that you read the change list files, that are linked below, in order to see the full list of bugs that have been fixed. Also included is a fix to the installer that prevents the Krypton controls from appearing multiple times inside the Toolbox.

The single functional change is to the Office 2010 palettes. As the result of a developer poll indicated that people wanted the default size of the Office 2010 palettes changed to match that of the Office 2007 palettes. This change has been made in this release. You can however revert those palettes to the smaller size, or indeed any size you like, using the following example code…

   KryptonManager.PaletteOffice2010Blue.BaseFontSize = 8.5f;
   KryptonManager.PaletteOffice2010Silver.BaseFontSize = 8.5f;
   KryptonManager.PaletteOffice2010Black.BaseFontSize = 8.5f;

This new BaseFontSize property is available on the built-in palettes except the Professional variations. There is also a BaseFontName that allows the font to be changed away from the default Segoe UI setting.
 

Download Link
Download Krypton 4.1.1

Change Lists
Toolkit Change List
Ribbon Change List
Navigator Change List
Workspace Change List
Docking Change List

You can download the Krypton 4.1.1 Release Candidate using the link at the bottom of this post. It contains bug fixes across all the major controls, an installer fix to prevent multiple control instances appearing inside the Toolbox, another installer fix so that docking components appear inside the Toolbox and a single extra piece of functionality.

The extra functionality is a property that sets the base font size…

kryptonManager.PaletteOffice2010Blue.BaseFontSize = 9.5f;

This property is only provided on the built in palettes and can be accessed via the KryptonManager as seen in the above code example. This allows those that would like a bigger font for the Office 2010 palettes to achieve it using the above example code. Please report any issues inside the post comments or via a direct email to myself.

Download 4.1.1

Download using this direct link…
KryptonSuite410.zip

New for Version 4.1
- Office 2010 Blue/Silver/Black Palettes
- Office 2010 Style Ribbon
- KryptonGroupBox
- Various bug fixes

Change Lists
- KryptonToolkitChangeList.doc
- KryptonNavigatorChangeList.doc
- KryptonWorkspaceChangeList.doc
- KryptonRibbonChangeList.doc
- KryptonDockingChangeList.doc