Archive for the ‘Krypton Docking’ Category

Our latest release includes three new components for the Toolkit. All of these are modal dialogs that are intended to replace your use of the existing message box, task dialog and input box forms. So now your dialogs can be consistent with the rest of the application by also using the Krypton palette styling.

The switch to using the KryptonMessageBox is very easy because you only need to perform a Find/Replace of the phrase MessageBox.Show with KryptonMessageBox.Show. This is because the exact same static Show methods have been used in the Krypton implementation as exist for the MessageBox which ensures an easy upgrade path. Check out the three new samples that can be accessed from the KryptonExplorer in order to see them working and experiment with the different settings that are possible.

Also present in this release is an important bug fix. Under Windows 7 the showing of a dialog that is derived from KryptonForm can fail. The bug is very nasty in that the dialog simply fails to be drawn on the screen, which is likely to be very confusing for your users. This has now been fixed. For a full list of changes you should check out the change lists that are installed.

New Components
- KryptonMessageBox
- KryptonTaskDialog
- KryptonInputBox

Download 4.3

External Dragging

I have recently been asked by several different users of Krypton about how to start a drag operation from an external source and allow it to be dragged into the docking area. For example, you might have a TreeView with nodes and when the user drags one of those nodes you want to automatically create a new page and have it draggable into the docking area of the application.

This seems like a very reasonable requirement but it was not really possible to get it working fully and correctly. With the introduction of two new events this is now possible:-

 - KryptonDockingManager.DoDragDockEnd
 - KryptonDockingManager.DoDragDockQuit

It has always been possible to start the drag operation in the scenario described above, you just need to call the KryptonDockingManager.DoDragDrop and pass in your newly created KryptonPage instance. Unfortunately there was no way to get feedback on when the drag operation was finished and if it succeeded or failed. Without this feedback it is hard, if not impossible, to correctly handle the operation. So now the DoDragDockEnd and DoDragDockQuit allow you to get the result of the dragging operation.

To make it easier to see how to actually implement this there is a new sample called External Drag To Docking where you can see the full source code. In particular the code inside the TreeView shows how to start the drag operation and also how to clean up afterwards using the new events.

Here you can see the new sample with the mouse about to drag the Document node of the tree…

KrytonDocking External Drag

Once the drag starts you get a new docking page titled Document 3 and it has been created as a floating window. The user then drag this to any part of the docking system or just leave it as a floating window if preferred.

KrytonDocking External Drop

AutoHidden Window States

Another common request has been an event to indicate when an AutoHidden window has been scrolled out into view so that additional actions can then be taken, such as updating the contents of the page. To allow this the following new event has been added:-

 - KryptonDockingManager.AutoHiddenShowStateChanged

The event provides a parameter that indicates the AutoHidden page has changed to one of these four possible states:-

- SlidingOut
- Showing
- SlidingIn
- Hidden

The events would usually occur in the same order that they are listed above. But note that sometimes the SlidingOut and SlidingIn do not occur because an action has caused the page to shift directly from Hidden to Showing or vice-versa. So I recommend you always hook and process the Hidden and Showing events.

This new release is smaller than usual but does contain a new Toolkit control called the KryptonTrackBar. It acts like the standard windows version allowing the user to drag a position indicator along a track. It also has the ability to draw the track as a triangle and so giving the appearance of a volume control. Always provided are a number of bug fixes and more minor additions.

Please download using the following direct link…

Download 4.2

The latest maintenance release of the Krypton Suite is now available for download.

Please download using the following direct link…

Download 4.1.5

Major Change
   – Moved all design time classes to separate assembly

New KryptonDataGridView Columns
   – KryptonDataGridViewComboBoxColumn
   – KryptonDataGridViewNumericUpDownColumn
   – KryptonDataGridViewDomainUpDownColumn
   – KryptonDataGridViewMaskedTextBoxColumn
   – KryptonDataGridViewDateTimePickerColumn

Major Bug fixes
   – TAB key works inside Navigator
   – AutoComplete works for KryptonComboBox
   – KryptonGallery memory usage improved

A beta version of the next release is now available for testing. It is number 4.1.4 and contains bug fixes and some minor new functionality with the addition of some KryptonDataGridView columns. You can download using the following link…

Download Kryton Beta