Hi,After upgrading from 18.2 to 19.1all of the UltraCheckBoxes and Ultra radio button lists are very tiny.Everything else looks fine.Regular System.Windows.Forms.CheckBox is also fine.
I use a 4k monitor for design and viewing.Visual Studio 2019, windows 10 latest.
It looked fine before this upgrade.Any suggestions, as have thousands of these in various forms.(this is a large app with hundreds of screens)For the checkboxes i can change these over to regular windows checkboxes by editing directly in the designer file for win formsNot so easy for radio button lists or ultra radio buttons in group managers.The text size is fine, just the size of checkboxes and radio buttons.Thanks,Michael
Hi Michael,
Nothing should have changed here. But we did introduce a CTP of some High-Dpi support in v19.1. So I suspect this was introduced along with that functionality.
But there are a lot of factors to consider here in order to figure out what's going on.
In order to test this out, I ran a sample in v18.2- before we changed anything for Dpi Scaling. In this version, I find that the CheckBoxes and Radio buttons are much too small. This is consistent with everything I know and have seen about Dpi Scaling, so I'm a little confused that you say it was working correctly for you before.
Then I tried the same test using v19.1, and in this version, and I get the same results. This is because the High-Dpi support is a CTP and is turned off by default.
To turn it on, you have to do this:
Infragistics.Win.DpiUtilities.MaxInfragisticsDpiAwareness = Infragistics.Win.InfragisticsDpiAwareness.PerMonitorDpiAware;
Once I do this, the checkboxes and radio buttons work correctly - they draw larger on a high-Dpi monitor just like the inbox controls.
My test applications are, of course, opting in to Dpi Scaling support for Windows. Just as a test, I tried removing that opt-in, and in that case, I find that the DotNet framework does not automatically size the form or any of the control for Dpi Scaling, so the CheckBoxes and radio buttons are all very small on a high-Dpi monitor, but they are, of course, the same size as the inbox CheckBox and RadioButton.
Also, MS has made incremental changes to high-DPI support in the DotNet framework over a range of CLR's.
So I guess the first thing to do would be to determine what version of the DotNet Framework you are using and whether your application is opting-in to high-Dpi support.
If you go to your project properties and look at the application tab, you can see the Target framework.
Opting into high-DPI support can be done in a number of ways, but typically you would use the app.config and app.manifest files.
Oh... one other factor here is OS Themes. The drawing of the glyphs goes down different code paths depending on whether themes are turned on or off and also the Style. I believe they use OS Themes by default. But your application may be turning that off either in code or by loading a Style Library.
It might be best if you can simply send me a sample project that duplicates the issue. That way we can cut through all of these different factors and see what's going on.
But right now, I seem to be getting the exact opposite of the behavior you describe.
Thanks for your quick response.Using Infragistics.Win.DpiUtilities.MaxInfragisticsDpiAwareness = Infragistics.Win.InfragisticsDpiAwareness.PerMonitorDpiAware;Fixes things perfectly for checkboxes and radio button lists, but introduces other factors, as per screen shots.This is using .Net Framework 4.7.2 (switched over about a month ago from 4.6.1)I do have high DPI support turned on in app.config and manifest files, windows 10 recognition, etc,I use 4K consistantly for design work within visual studio, and use the autoscale=font (not dpi) on all forms.Have had high dpi support turned on for several years in manifest files, and it works except for a few areas which had to fix with some helpers i wrote (image sizing inside of buttons, labels, and dialog box sizes)When i switched over to 4.7.2 i turned off these helpers, and works.Then upgraded from 18.2 to 19.1 a couple days ago.All of this is staying on 4K for display as well (once that is good, then will look at other resolutions).I will put together further info as i continue to research and try different things on my side.Thanks again for your quick response and suggestions.
Hi, I have 'Enable XP Visual Styles' enables in project settingsI turn off 'Use OS themes' for some elements like ultrabuttons to style them.I tried toggling 'Use OS themes' on and off for the ultra mdi tab manager with no effect , i.e., the screen shots loaded above remain the same.Will create a sample project to try to duplicate things,and will include an ultraTabMdiManager, ultraListView, buttons, labels, etc.Give me a couple days for that, as soon as have the bandwidth.
So, I seem to be getting more confused here rather than less.
It's good to know that setting the MaxDpiAwareness fixes the CheckBox and RadioButton sizes. But I'm still puzzled as they how they could possibly have been sizing correctly in previous versions like 18.2. Unless you were using some kind of workaround where you were drawing them yourself, they would have been too small. Which is why the CTP fixes them. But I can't see any way they could possibly have worked before or why they would have changed now when MaxDpiAwareness is turned off.
Michael said:Using Infragistics.Win.DpiUtilities.MaxInfragisticsDpiAwareness = Infragistics.Win.InfragisticsDpiAwareness.PerMonitorDpiAware;Fixes things perfectly for checkboxes and radio button lists, but introduces other factors, as per screen shots.
I expect that there will be some issues when using the new DPI Scaling functionality - it's a CTP and it's absolutely nowhere near finished. But I'm a little confused about what your screen shots are meant to be showing and what the problems are.
It seems like you are pointing to the radio buttons to show that they are fixed when MaxDpiAwareness is set. So that's good.
The close button on the tabs is correct - previously, it was too small and not scaling and now it is scaling. So that's the intended behavior.
I'm not sure what your third arrow is point to or what that's supposed to indicate. I guess that's an UltraWinGrid control? And I can see that the row height has increased, but the size of the text has not. Is that the issue you are pointing out? Our Dpi Scaling functionality doesn't do any scaling of the fonts. MS already takes care of that in their own way by scaling the form's Font. This means anything that is using the default font from the form will draw bigger text. But if you are explicitly setting a font on an individual control or appearance, then it's up to you to scale it. Not much we can do there.
The row height is probably increasing in order to account for buttons in the cells. We scale up the height of any buttons so they appear scaled on a high-def monitor. So that might explain why the row height is getting bigger, but the text is not.