У меня есть приложение C# Winforms, которое я пытаюсь сделать DPI осведомленным. Я пытался следовать инструкциям здесь:
https://learn.microsoft.com/en-gb/dotne ... rmsобразно Создан как TestCase:
http://endendandodds.stewartsplace.org. ... anager.zip
Большая часть пользовательского интерфейса - это TabControl, каждая из которых содержит DataGridView. В уменьшенном тесте все вкладки, кроме
, первые, являются пустыми, но первая вкладка - это все, что необходимо для того, чтобы показать проблему. В полном приложении в верхней области основной формы существуют различные элементы управления
; Только кнопка Tab Level Spect, чтобы показать, что она продолжает правильно отображать
(в отличие от TabControl и DataGridView). < /p>
Обратите внимание, что: < /p>
Приложение установлено в Target .NET Framework 4.8. < /li>
. файл MANIFEST 10 STAPERDED. /> Файл конфигурации имеет режим масштабирования, установленную в виде пермониторизации2, чтобы окно было масштабироваться при перемещении между
экранами различных DPI. Когда оба монитора устанавливаются на один и тот же DPI, будь то на 100% или 125%, все выглядит
нормально - окно появляется в правильном масштабе и является резким. В
Scale после этого изменяется правильно, когда я перемещаю окно между экранами:
< /p>
Если у меня есть мой основной дисплей, установленную на 125%, а мой другой дисплей установлен на 100%, это совершенно другая история. Это также выглядит хорошо, когда я затем перемещаю окно
на другой дисплей. Однако, как только я перемещаю его обратно на основной дисплей, макет полностью испортится:
< /p>
Заметьте, как: < /p>
Вкладки исчезли. Перемещение
cursor влево не возвращает другие столбцы обратно в представление. Вернуться к правильной макету, за исключением закрытия и перезапуска моего приложения. Как исправить?
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-messes-u
Осведомленность DPI в приложении Winforms с TabControl и DataGridView - Mayout испортится при перемещении окна между экр ⇐ C#
Место общения программистов C#
1752613498
Anonymous
У меня есть приложение C# Winforms, которое я пытаюсь сделать DPI осведомленным. Я пытался следовать инструкциям здесь:
https://learn.microsoft.com/en-gb/dotnet/desktop/winforms/high-dpi-support-in-windows-formsобразно Создан как TestCase:
http://endendandodds.stewartsplace.org.uk/medmanager.zip
Большая часть пользовательского интерфейса - это TabControl, каждая из которых содержит DataGridView. В уменьшенном тесте все вкладки, кроме
, первые, являются пустыми, но первая вкладка - это все, что необходимо для того, чтобы показать проблему. В полном приложении в верхней области основной формы существуют различные элементы управления
; Только кнопка Tab Level Spect, чтобы показать, что она продолжает правильно отображать
(в отличие от TabControl и DataGridView). < /p>
Обратите внимание, что: < /p>
Приложение установлено в Target .NET Framework 4.8. < /li>
. файл MANIFEST 10 STAPERDED. /> Файл конфигурации имеет режим масштабирования, установленную в виде пермониторизации2, чтобы окно было масштабироваться при перемещении между
экранами различных DPI. Когда оба монитора устанавливаются на один и тот же DPI, будь то на 100% или 125%, все выглядит
нормально - окно появляется в правильном масштабе и является резким. В
Scale после этого изменяется правильно, когда я перемещаю окно между экранами:
< /p>
Если у меня есть мой основной дисплей, установленную на 125%, а мой другой дисплей установлен на 100%, это совершенно другая история. Это также выглядит хорошо, когда я затем перемещаю окно
на другой дисплей. Однако, как только я перемещаю его обратно на основной дисплей, макет полностью испортится:
< /p>
Заметьте, как: < /p>
Вкладки исчезли. Перемещение
cursor влево не возвращает другие столбцы обратно в представление. Вернуться к правильной макету, за исключением закрытия и перезапуска моего приложения. Как исправить?
Подробнее здесь: [url]https://stackoverflow.com/questions/79696761/dpi-awareness-in-winforms-app-with-tabcontrol-and-datagridview-layout-messes-u[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия