Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Режет форму на разных ОС (Win7/Win10)&Win8.1

#c_sharp #net #winforms #windows_8 #windows_10


Написал небольшое приложение. И на кросс-платформенности споткнулся.
Что имеем:

Win10, разрешение 1366х768



Win10, разрешение 800х600



А теперь Win8.1, разрешение 1920х1080


На Win8 срезает кусок формы, тем самым пропадает кнопка нижняя и боковая, что вообще
неприемлемо, да и textbox-ы подрезает немного. 
Платформа .NET 2.0 (нужна именно она, перекомпилить в .NET 4+ не вариант).
На Win7 c разрешением 1920*1080 все норм!
В чем проблема может быть? 
    


Ответы

Ответ 1



Поиграйтесь с параметрами Anchor и AutoScaleMode Разные контролы по-разному ведут себя с разными значениями этих параметров - проще всего найти правильную комбинацию экспериментально.

Ответ 2



Проблема скорее всего с DPI и абсолютными координатами всех контролов. Насколько помню, Winform не умеет скалить форму под разные DPI, из за чего как раз правый нижний угол и может страдать. В целом, из простых вариантов - явно привязать обрезанные контролы к нижней и правой границе окна, либо дать пользователю растянуть форму, что правда не сильно очевидно будет.

Ответ 3



Решил установкой значения Inherit для свойства AutoScaleModeв формах

Комментариев нет:

Отправить комментарий