Archive for the ‘General’ Category

I know it has been a little while since I last posted. This is because I have now take a contract job and so have been working full time for the last six weeks. This will continue for at least another couple of months and if they offer a contract extension I will certainly accept it.

As anyone in the component development industry will tell you the demand for WinForms controls has been on the slide for a few years. It has not been a crash, with sales falling off a cliff, but the demand peaked a few years ago and it has been slowly running downhill. In itself this is not surprising as WPF is capable of taking the place of WinForms for desktop development work. Plus you have the inexorable rise of Internet applications with Silverlight providing a rich web application platform for .NET developers.

A year ago sales were enough to pay me the same as a senior developer position. That is no longer the case and with WinForms sales trending downward that is not going to change. Hence I have entered the job market again. This does not mean the end of Krypton. I will still be working on Krypton and making new releases. But it does perhaps mean the end of major new additions. It is going to be tough to write a major component such as a Grid control when you are working on it only in your spare time.

After some weeks working on the PFGrid.NET code base I have unfortunately come to a realisation I did not want to make. The full list of features I want to make available in a Krypton grid control are just not possible with that code. I started work on updating the design but it has become obvious that it would be better to start from scratch than try to alter the existing design. So unfortunately I have decided to not use the PFGrid after all. So instead I need to build my own from scratch. A big job but sometimes there is nothing for it but to roll up your sleeves and get stuck in.

It gives me great pleasure to announce an agreement has been reached to license the PFGrid.NET control for use within the Krypton Suite. There have been many requests for a high quality grid within the Krypton Suite and this will now be possible by Kryptonizing the excellent PFGrid.NET. It has all the features you would expect such as grouping, filtering, sorting, tree list mode and so forth.

You can check out the grid in more detail by visiting the PFGrid.NET website. I will be Kryptonizing the control over the next few weeks so that it has the same look and feel as the rest of the Krypton controls and uses the palette system for obtaining appearance information. I will blog about progress as I go along.

Here are just a couple of pictures…

Controls such as the TextBox fire Validating and Validated events as part of the validation mechanism that is provided by WinForms. This allows you to prevent the focus leaving a control if there is an error in that data entry field. Unfortunately the majority of the Krypton Toolkit controls do not fire these events directly.

Most Toolkit controls such as the KryptonTextBox are actually made up of two parts. The KryptonTextBox itself is a container that has a single child control which is just a standard TextBox. This is done so that the container can draw the border around the inner control and then the inner control can be instructed to draw without a border. An approach required so that the correct border is drawn according to the Krypton Palette definition. It does however have the complication that many of the events of interest are fired by the inner control. To get around this the container hooks the events of the inner control and then fires them again from itself. So as a developer you just hook the container and it fires the events you expect, without most developers realising that the event actually originated from the inner control.

Turns out that I missed a couple of events. So I have now updated the source code so that the Validating and Validated events from inner controls are now fired from the container. This makes it much easier to get the validation mechanism to work. The controls affected by this are…

  • KryptonListBox
  • KryptonCheckedListBox
  • KryptonTextBox
  • KryptonMaskedTextBox
  • KryptonRichTextBox
  • KryptonNumericUpDown
  • KryptonDomainUpDown
  • KryptonComboBox

The release is mainly intended for commercial customers.

In particular it fixes problems with using the installed source code for purchased version of the Suite. Previously the design time experience when using the compiled source code would fail. This has been resolved by having the source code compilation use a strong key and then automatically installing the newly built assemblies into the GAC. So now your projects can always use the GAC assemblies for your projects and the design time experience will be as expected.

Please download using the following direct link…

Download 4.1.6

Major Change
– Installed source code now compiles with strong key
– Installed source code build places assemblies into GAC

Bug fixes
– KryptonRibbon generated code was causing compile errors
– KryptonWorkspace load config was not adding created pages
– KryptonMonthCalendar weeks numbers were incorrect