Infragistics 2007 WinGrids

A word of warning. When you drag an Infragistics 2007 grid onto your form, it doesn’t create it "empty", but with hard-coded appearance settings put into the designer.cs. This results in your AppStylist themes not working 100% correctly since they get overridden in code. There is no warning that this happens and it occurs apparently by default. I’m told that the 2008 release fixes this, but I’m amazed that this slipped through the net. I had to manually go through the designer.cs for about 10 Forms & Controls and modify the generated code to remove the junk so that my Style worked as expected.

There’s a workaround for this – when you first drag on the Grid, immediately use the "Reset Layout" function (in the Properties pane) to get rid of all the hard-coded stuff that it’s created for itself. You can’t really use this function later, however, as it removes all changes that you’ve to the Grid made including hidden columns, groupings etc. etc..

Infragistics Ultra Drop Down

I’ve stopped using the above control. Not only is it unusual in it’s design but it’s dog slow. I’ve replaced them with ValueLists in the Grid designer – much faster. The only drawback is that you then can’t bind directly to a datasource – instead you have to manually enumerate through your data source and add value items to the value list. But at least it works.

Infragistics vs Janus

We’ve started using Infragistics as our toolset of choice for Windows Forms programming. I can’t stand it! I’ve been using the Janus control set for the past few years and have grown to really like it. It has a few small issues but generally fits in very well alongside / in place of standard Windows Forms controls. The API is very similar to the standard Windows one. The controls look good. The designers are well written.

I wish I could say the same for the IG toolkit. They seem to have been written by people coming from a Javascript background, as loads of properties for controls are backwards compared to the standard Windows ones e.g. instead of a Visible boolean property, you get a Hidden boolean property. The controls look impressive but you generally have to play around with the "AppStylist" tool to get what you want – and it’s very confusing to use! The designers are the last bit – I can’t stand most of them. They are slow, poorly designed, and difficult to navigate your way around.

Some of the controls are plain strange, too. What’s the IG equivalent of a standard Combo Box? Not the UltraDropDown, or even the UltraCombo – but the UltraComboEditor! Talking of the DropDown – this is one of the most unusual controls I’ve ever seen. It’s a good idea – a control which can be used to resolve lookups in Grids etc. However, the visual implementation is absurd. It’s a non-visual component i.e. it resolves data, and serves no purpose on the screen. However, instead of sitting in the toolpane alongside e.g. ToolTip providers, Error providers, and BindingSources etc., you actually get a physically list control on your Form at design time. When you run the application, it magically disappears from the screen though – so it behaves like a non-visual component at run time but at design-time it’s a visual control.

I’ve put the first of no doubt what will be a multitude of questions to the support team – let’s hope they are helpful!