Why is UseCompatibleTextRendering needed here?

Posted by HotOil on Stack Overflow See other posts from Stack Overflow or by HotOil
Published on 2010-06-10T19:57:27Z Indexed on 2010/06/10 21:12 UTC
Read the original article Hit count: 212

Hi, I think I'm missing something fundamental. Please tell me what it is, if you can.

I have developed a little C++ WinForms app using VS2008. So it is built using .NET 3.5 SP1. My development box is Win7, if that matters.

The default value of UseCompatibleTextRendering property in WinForms controls is false in this version of VStudio. And this should not matter to me, I don't think. I don't have any custom-drawn text or controls.

The app looks good running on my Win7 box.

If I package it up (dragging along .NET 3.5) and install it on one of our WinXP desktops, the buttons and labels don't look good; the text is chopped off in them.

If I set UseCompatibleTextRendering to true and then run it on the XP boxes, the text fits into the buttons and labels.

My question is: Why? The installation puts .Net 3.5 on the XP boxes, so the app should be able to find and use the right version of WinForms, right?

I should note that before I put my app + .NET 3.5 on these boxes, they have no .NET at all. They do not get automatic Microsoft updates; our IT guy gates the patches and upgrades.

[ This sort of thing has happened before with apps I create.. they look/work great on the Engineering machines, because we maintain those and they mostly have up-to-date stuff. When they are run on the corporate boxes, they usually don't run and need the VCredist installed. ]

Back to the question at hand: The text looks better with the UseCompatibleTextRendering set to false, so I'd rather keep it that way, if I can. I'd like to understand what might be missing on those XP boxes that is making the text not fit.

Thanks

S

© Stack Overflow or respective owner

Related posts about winforms

Related posts about .net-3.5-sp1