2010-08-24 2 views
5

у меня есть проблема, что я странная нужно работать, как решить,управления .Net изменение размера между компьютерами

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

различия между машинами заключается в следующем:

Laptop:

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

Работа Desktop:

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

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

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

Это лишь одна из многих проблем, другой с цветным system.control кажется укомплектовать цветовое различие между системами (Althoug я полагаю, что быть win7 против проблемы хр)

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

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

EDIT: Я нашел решение для своей конкретной проблемы, я обнаружил, что мой ноутбук работал на 125% в настройках dpi для слабовидящих (не знаю, как ..), поэтому я его сбросил назад на 100% или 96Dpi. Я исправил свои проблемы, и после общения с несколькими другими разработчиками, которых я знаю, они говорят, что они имеют тенденцию проектировать 96 точек на дюйм, оставляя немного белого пространства вокруг текста в безопасности. но тогда они не склонны часто использовать C# и главным образом кодировать все в C++ с использованием платформы QT.

+2

Это обычная проблема с WinForms и относится к DPI каждого дисплея. Если вы google для «winforms DPI», вы получите много хитов на этом. –

ответ

11

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

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

2

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

Смежные вопросы