I have a form, originally developed to be used on XP, containing a .NET 4.0 ProgressBar control. It’s part of a composite control, where I write some info on top of the bar using TextRenderer. (I didn’t go for a label, because the transparency doesn’t seem to work.)
I’ve now upgraded the OS to Windows 7, and it seems the whole look and feel of the controls has changed. The progressbar now has a kind of “swoosh” effect, a highlight that moves quickly from left to right. The problem is this animation is removing my rendered text. My app happens to update often, so the result is a blinking text on top of my status bar.
How can I fix this?
Any reason you have to write the text superimposed on the bar itself instead of underneath it, as everything else does? It sounds like it would be a lot easier to read the text if it were separate from the bar. That’s certainly been my experience of progress bars as a user: keep any status messages away from the graphics.
EDIT: I’ve just checked, and if you don’t call
Application.EnableVisualStylesit uses the very old “big blue blocks” style, as far as I can tell. Personally I find this pretty ugly – I’d recommend that you stick with the nicer visual style, but move the text.