Last week Infragistics published NetAdvantage 2006 Volume 1 and it's CLR 2.0 version comes with CAB Extensibility Kit. This project contains implementations of CAB Workspaces and UIElementManagers for various Infragistics controls (Docking, Explorer Bar, Task Pane, Toolbars, MDI Tab and Tab controls). So if you already use this suite and would like to start working with CAB this would bootstrap your development. On the other hand, if you use controls from other vendors you can still download the trial package as the CAB kit comes as source code and you can learn first hand how to implement such things.
Speaking of Infragistics... Recently I came across several post with criticims on Infragistics controls. Here, Richard writes about the memory issues his team experienced with UltraGrid and Appearance objects, while here John Luif complains about usability issues and hard design time experience for developers.
I've been using Infragistics for few years now and I'm also bit disapointed with them. Initially we choose them because at the time it was the most comprehensive library available, but it also seamed that thanks to thairs 'Presentation Layer Framework' there is much space for customization. Unfortunatelly that is only in theory, as I quickly learned out that many things are hard coded and very difficult to override (you have to rewrite much code even to change simpest things). And writing your own controls taking advantage of this platform is almost imposiible as many important class members are private or internal.
I think the main problem is that this thing is over-engineered and as a result it's too complex for the end users (here the developers). There are literally hundreds of obscure settings, while at the same time it's just hard to do simple things (for example to change images for sort indicators on grid headers or expansion indicators in treeview you need to provide your own drawfilter).
The most anoying thing is that with some controls (like grid) there are various levels of overrides and some values can be inherited from higher level. But you never know what is the actuall value used as the property is always configured to 'Default'. Last year thay added more clever designers for some controls but I don't think this helped much.
Fortunatelly times change and nowadays there we have more alternatives. My personal favorite now is .NET Windows Forms Component Collection from DevExpress and I absolutly love the included skin designer.
Currently I'm looking for HTML editing controls for Windows Forms. Suprisingly there is not much to choose from and I only found two decent offerings: NetRix Editor and Syncfusion's HTMLUI. After quick evaluation I will probably go with NetRix control as it renders correctly most documents I tried (including this site) and seems more performant then Syncfussion's. However, if you have some experiences with any of them or know some other HTML editor please let me know.