У меня есть проект, преобразованный из .NET 1.1 в 3.5, который разрабатывается в 2008 году.
Если я открою проект в Windows 7, он преобразует размер всего в размеры 120 точек на дюйм. Если я затем открою его с разрешением 96 dpi, он изменится обратно. Есть ли способ разработать, чтобы он хорошо выглядел в обоих случаях, и не, чтобы Visual Studio менял размеры при открытии в системе с другим DPI?
Этот вопрос, возможно, лучше сформулирован/дублирован здесь: настройка dpi визуального дизайнера студии
Или здесь: Visual Studio и проблема DPI
Чтобы было ясно, что я пытаюсь сделать, это предотвратить изменение размера элемента управления в дизайнере при использовании несколькими разработчиками с разными настройками DPI. Во всех случаях, когда я замечал эту проблему, я работал с проектом .NET 1 или .NET 2, который изначально был обновлен для использования Visual Studio 2008, а теперь — Visual Studio 2010.
Обновление (на случай, если кто-то захочет посоревноваться с @Ben за бонусные баллы): у меня есть форма, размеры которой корректно изменяются, но размер окна изменяется программно. Поскольку дизайнер не знает о размерах, размер окна изменяется неправильно, если разработчик, использующий другой DPI, касается формы. Есть ли способ обойти эту проблему, кроме как отказаться от масштабирования пользовательского интерфейса во время выполнения?
Например: у меня есть два объявленных размера для моего окна, которые работают правильно, если разработчики используют 120 dpi во время разработки:
private static Size smallSize = new Size(960, 500);
private static Size largeSize = new Size(960, 615);
Я просто пытаюсь понять, что мне нужно сделать, чтобы не было ужасной регрессии дизайна, если кто-то редактирует форму в дизайнере с разрешением 96 точек на дюйм.