Мой графический интерфейс по-разному отображается на одном из компьютеров, на котором я его запускаю - PullRequest
4 голосов
/ 09 сентября 2011

У меня есть приложение .Net, которое было изначально создано в Visual Studio Professional 2005 с использованием платформы .Net 2.0.

Недавно я открыл проект в Visual C # Express 2010, внес некоторые незначительные изменения и собрал его с использованием .Net framework 4.0.

Все работает как шарм, кроме одной довольно раздражающей части. Когда я запускаю приложение на HP EliteBook 8740w с экраном 1920x1200, группа элементов управления с графическим интерфейсом перетасовывается, так что они приземляются друг на друга. Эта ошибка не отображается при работе на моей 64-битной рабочей станции Windows 7 с внешним дисплеем с разрешением 1900x1080. Он также не отображается при работе на ноутбуке с Windows XP с разрешением 1024x768.

Я попытался подключить внешний дисплей 1600x1200 к EliteBook, но там также отображается ошибка.

Запутанные элементы управления - это набор комбинированных списков, numericUpAndDowns и меток, размещенных в контейнере макета таблицы, которые, в свою очередь, помещаются на вкладку в элементе управления вкладки.

Я попытался создать новый контейнер элемента управления вкладкой и макета таблицы с нуля, а затем переместить комбинированные списки и т. Д. В новый контейнер макета таблицы, но ошибка преобладает.

Я был бы очень признателен за помощь в этом вопросе, потому что я не знаю, что еще можно попробовать. Я начинаю подозревать, что с графикой в ​​EliteBook что-то не так, но, впрочем, все остальное прекрасно отображается на экране.

Спасибо, Фредрик Исраэльссон

--- Редактировать ---

Спасибо за ваши быстрые ответы. Прежде чем я успел взглянуть на них, я решил, что решил проблему самостоятельно. Наткнулся на поток о том, почему Visual Studio автоматически меняет размеры элементов управления, хотя для свойств привязки и закрепления установлено значение Нет. В одном из ответов упоминается свойство AutoScaleMode. Я изменил AutoScaleMode с Font на None в моем главном окне приложения, и никакой графический интерфейс не отображается на всех моих компьютерах.

Еще раз спасибо!

/ Фредрик Исраэльссон

Ответы [ 2 ]

4 голосов
/ 09 сентября 2011

Я подозреваю, что это потому, что две машины имеют разные настройки DPI.Это всегда проблема с Windows Forms.

Вот несколько ссылок, которые могут помочь.

http://msdn.microsoft.com/en-us/library/ms229605.aspx

http://www.sellsbrothers.com/writing/winformsAutoScaling.htm

0 голосов
/ 09 сентября 2011

Это может быть связано с аппаратным ускорением. Является ли ваше приложение WinForms или WPF? Я столкнулся с действительно странным поведением при использовании VS2010 на 64-битной Win7 только потому, что он пытался использовать аппаратное ускорение при создании приложения.

Повышение производительности за счет изменения визуального восприятия У вас может быть проблема с аппаратным ускорением в VS2010. Из-за этого у меня возникла проблема с отображением приложений, созданных с использованием WPF.

Дайте ему попытку: http://blogs.msdn.com/b/zainnab/archive/2010/06/22/improving-performance-by-changing-the-visual-experience-vstipenv0017.aspx

И если это не решит вашу проблему, перейдите в настройки вашей видеокарты (nvidia или amd Catalyst) и выполните «сброс настроек» на компьютере, где приложение не будет правильно рисовать себя. Тогда попробуйте еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...