У меня есть приложение C # 3.0 для Windows Forms, созданное на основе VS2008 (ранее перенесенное с C # 1.1), которое отлично смотрится на 32-битном ПК с WinXP, но имеет подбитые пропорции на 64-битном ноутбуке с Win7.
Я нахожу ссылки на отсутствие поддержки Win7 для Tahoma 8, которую использует приложение. Нужно ли мне перепроектировать мой диалог, используя Tahoma 9, чтобы он хорошо отображался во всех 3 ОС?
Вот мои начальные измерения (см) группового поля, содержащего переключатели и кнопку:
ОС, разрешение, GroupBox HxW, RadioButton HxW
XP, 1024 x 768, 7,5 x 6,75, 0,75 x 4,4
7, 1024 x 768, 6,8 x 6,3, 0,8 x 5,0
7, 1680 x 1050, 4,9 x 4,5, 0,55 x 3,5
Проблема в основном в том, что на разных ОС у группового блока пропорции меняются не так, как у радиоприемников, которые в нем содержатся, так что радиоприемники и метки, которые хорошо вписываются в групповой блок в XP, выходят за пределы (оба x & y ось) на 7. Точно так же текст на кнопке вырос больше, чем на кнопке. Это происходит даже тогда, когда я набираю разрешение 7 ящиков в соответствии с ящиком XP. Шрифт GroupBox больше, чем у радиоприемников, но даже когда я сделал их равными, я не увидел улучшения.
Я думаю, что это как-то связано с тем, что приложение изначально создавалось с более старой версией C #, а затем портировалось. Я говорю это потому, что я только что создал новый (пустой) проект Windows формы, используя VS2008, и для каждого элемента управления в моем приложении, которое не отображается правильно на win7, когда я копирую этот элемент управления в новое приложение и запускаю его на win7, он изменяет размеры правильно. В приложении должно быть свойство высокого уровня, которое наследуют элементы управления.
Что вызывает это и что я могу с этим поделать?
Заранее спасибо.