We have the following problem. We give to our users the possibility to choose a theme. Some of this themes have the label background as transparent and some others not. So if a user choose as an example the chameleon theme, when a form have a label inside a groupbox we are getting not good looking form. We don't want to change infragistics styles with appstylist application to have easier upgrade path. Is there any other possibility to use the infragistics styles but override somehow the default style appearance?
Thanks in advance
Mike Evans
PS the above "problem" its not only for Label but also other controls (checkbox etc)
Mike,
In general, yes, it is slower to have a transparent background with WinForms because in order for a control to paint in that area, it has to ask for its parent to also paint in that area, and so on as long as there are transparencies in the hierarchy, while a predefined color does not have this limitation. While this doesn't really matter with a smaller number of controls, when you start adding a lot of controls repainting the form can cause a bit of flicker.
As to your issue with upgrading, unfortunately I'm not aware of a good way to automatically merge over your changes to a newer style that contains information for new controls. If you're specifically worried about later upgrading to 9.1, you could download that version now (or the trial if you currently don't have access to the full version) and modify the ISLs from that version. There shouldn't be any issues with using the newer style with an older version; the extra information should simply be ignored.
-Matt
PS. As for the upgrade path i'm aware for the compatibility with the current ones but what will hapen with the new controls? As an example we are using the 8.3 version of styles and if i change them to follow my needs when i change to 9.1 (ultrapanel) i'll need to make the same changes to the new styles also (otherwise the styles will not support the new ultrapanel control).
Brgds
Hi Matt,
Is there any special reason for infragistics not to have those controls with transparent background instead of a defined color? Is a transparent background slower on painting than a predefined color?
If it's the styles that are providing the backgrounds to the controls, then you basically have two options
1) Change the styles themselves to be transparent (which you said isn't prefereable for you)
2) Change the ComponentRole of the styles to be ControlThenApplication (if they aren't already) and then set the Appearance.BackColor to Transparent
Both of these approaches will likely involve modifying the styles, unfortunately. The downside to the second approach is that some of the backgrounds might be applied to the Image/ImageBackground instead of BackColor, so you'd have to set the ImageAlpha/ImageBackgroundAlpha on the controls as well. I'd say that the first options is still your best bet.
On the bright side, if you're worried about an upgrade path, the styles aren't bound to any specific version, so you should be ok using these styles when you upgrade.