.Net контролирует изменение размера между компьютерами - PullRequest
5 голосов
/ 24 августа 2010

У меня странная проблема, с которой мне нужно разобраться, как ее решить.

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

различия между машинами таковы:

ноутбук:

Windows 7 Pro;Дисплей - 1920 * 1040;Visiual Studio 2008;.net framework 3.5

Рабочий стол:

windows xp pro;дисплей: 1024 * 768;визуальная студия 2008;.net framework 3.5;

, чтобы лучше описать проблему, у меня есть панель шириной 300 пикселей, в которой есть метка с указанием дня и дня в формате mm-DD-yyyy,с использованием шрифта arial и размера 8.

На ноутбуке все идеально подходит, но на рабочем столе панель кажется меньше, а на этикетке отображается только половина текста.

Это только одна из многих проблемдругая - с системой цветов. Кажется, что управление между системами совершенно отличается от цвета (хотя я полагаю, что это проблема win7 vs xp)

Что можно сделать, чтобы это исправить?это проблема версии Windows?(У меня есть xp на машине vmware на моем ноутбуке, чтобы я мог кодировать и проектировать в ней)

это проблема с отображением?- это большая проблема для меня, так как у меня есть только 1 ноутбук, и я думаю, что эта проблема могла привести к потере отметки на моем недавнем назначении для Uni (я кодировал на ноутбуке и никогда не открывал на рабочем столе до сегодняшнего дня - поэтому понятия не имелэта проблема)

РЕДАКТИРОВАТЬ: я нашел своего рода решение для моей конкретной проблемы, я обнаружил, что мой ноутбук работает на 125% с настройками dpi для слабовидящих (не знаю, как ..), поэтому я имеюсбросьте его обратно до 100% или 96 dpi, что устранило мои проблемы, и после общения с несколькими другими разработчиками, которых я знаю, они говорят, что имеют тенденцию проектировать для 96 dpi, оставляя небольшое пространство вокруг текста, чтобы быть безопасным.но тогда они не склонны много использовать c # и в основном кодируют все на c ++ с использованием фреймворка QT.

Ответы [ 3 ]

12 голосов
/ 24 августа 2010

Видеоадаптер на вашей рабочей станции имеет другую настройку точек на дюйм.Форма автоматически масштабируется, чтобы учесть это.

Это произойдет и при отправке вашего продукта, и он будет работать на компьютере клиента.Изменение свойства формы AutoScaleMode не является исправлением, которое будет просто создавать обрезанный текст в элементах управления.Убедитесь, что ваш дизайн формы устойчив к изменениям макета.Dock, Anchor, TableLayoutPanel, FlowLayoutPanel, событие Resize для сложных случаев.И убедитесь, что элементы управления наследуют свойство Font своего контейнера (не выделено жирным шрифтом в окне «Свойства»)

2 голосов
/ 24 августа 2010

Измените настройку для AutoScaleMode .

2 голосов
/ 24 августа 2010

Убедитесь, что вы можете изменить размер панели в Visual Studio, чтобы все элементы управления внутри нее были правильно расположены и изменены.Вы можете использовать якоря для достижения этого, или, возможно, вы должны использовать TableLayoutPanel элемент управления вместо обычного Panel.

...