Visual Studio Designer добавил поля и отступы в мою форму

winforms

972 просмотра

1 ответ

Недавно я обновил свою рабочую станцию ​​до Windows 8.1 с монитором 4K и перешел с Visual Studio 2010 на 2012 год. Когда я открыл существующий проект, были внесены радикальные изменения в Margin и Padding (по умолчанию).

Label - Margin(8, 0, 8, 0)
Button, DataGridView, TextBox, CheckBox - Margin(8, 7, 8, 7)
MenuStrip - Padding(16, 5, 0, 5)
GroupBox - Margin(8, 7, 8, 7) and Padding(8, 7, 8, 7)

Размеры управления также больше, чем раньше.

Это потому, что я использую монитор 4K с масштабированием дисплея? Если так, как я могу управлять макетом с этой настройкой. Нужно ли менять разрешение экрана каждый раз, когда я хочу редактировать форму?

Или это как-то связано с VS 2012 или Win 8.1?

Любая помощь приветствуется.

Автор: Jim Balkwill Источник Размещён: 12.11.2019 09:14

Ответы (1)


2 плюса

Решение

Ответ связан с масштабированием DPI. По сути, когда что-то редактируется в конструкторе, отличном от 96 DPI, оно масштабируется. При сохранении масштабированные значения сохраняются. Я редактировал форму с разрешением 150 DPI.

Я нахожу, что поддержка DPI в Winforms довольно неловкая, но, похоже, целесообразно использовать конструктор с согласованным DPI - т.е. на одном мониторе и предпочтительно с 96 DPI.

Я, конечно, обнаружил, что трудно получить верный макет при более высоком DPI. Я просто не вижу, правильно ли все выровнено при более высоком DPI, тогда как я четко вижу при 96 DPI. Таким образом, технически требуется совет придерживаться 96 DPI, или нет, я не могу подтвердить, но на практике я считаю это визуально необходимым.

Вот несколько ответов о том, как создавать приложения DPI Aware: https://stackoverflow.com/a/13228495/1439940 , https://stackoverflow.com/a/4076259/1439940 , https://stackoverflow.com/a/ 202172/1439940

Автор: Jim Balkwill Размещён: 04.01.2016 10:53
Вопросы из категории :
32x32