dotnet / dotnet/winforms

ChildMdi inactive (not visible) TabPages do not render properly on HDPI change

Open
#6,265 3 comments 1 reaction 0 assignees View on GitHub
:beetle: bug area-HDPI-PMv2 area-MDI blocking-migration
Dominant language
C#
Stars
4.9k
Forks
1.1k
Avg merge
20h 23m
Merged PRs (30d)
103

Description

.NET Core Version:
dotnet-sdk-7.0.100-alpha.1.21568.2-win-x64

Have you experienced this same bug with .NET Framework?:
No

**Issue:** When moving an MdiParent to a higher DPI monitor, the ChildMdi (Maximized) inactive (not visible) TabPages do not render properly when moved from a 100% to 150% monitor.

Run the project and click MdiParent - Simple Layout on the 100% monitor
Drag the MdiParent to the 150% monitor. The inactive (not visible) tabPage2 and tabPage3 controls do not render properly. On tabPage2 the groupBox2 and groupBox3 are cut off on the bottom. On tabPage3, the ListView on tabPage4 is much shorter and should have gone to the bottom of the tab page.
![ChildMdi TabControl 1](https://user-images.githubusercontent.com/2184698/144683021-7101045e-5ed1-41e4-87f6-068820bde6eb.gif)

If you start on the 100% monitor with tabPage2 visible, then move to the 150% monitor, tabPage2 renders correctly.
![ChildMdi TabControl 2](https://user-images.githubusercontent.com/2184698/144683246-106cc214-ac55-49bc-9e58-0720f1c875ab.gif)

If you start on the 100% monitor with tabPage3 visible, then move to the 150% monitor, tabPage3 renders correctly.
![ChildMdi TabControl 3](https://user-images.githubusercontent.com/2184698/144683369-34116614-2230-4cbd-b138-ca2d40d6c6c8.gif)

If you use SimpleForm (not MdiParent), the inactive tabs render properly
![ChildMdi TabControl 4](https://user-images.githubusercontent.com/2184698/144683465-76f884ad-8bca-4790-9740-a0a866ac0cf7.gif)
[PerMonitorHDPICore - NET 7.0.zip](https://github.com/dotnet/winforms/files/7652835/PerMonitorHDPICore.-.NET.7.0.zip)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.