Winforms содержит много технологий, разработанных для решения проблемы, при которой отображение форм не зависит от разрешения. Но многие из этих технологий требуют от вас понимания и использования - например, привязки, стыковки, панелей компоновки и автоматического масштабирования. Если вы неправильно применили эти свойства, вы часто не знаете об этом до того дня, когда вы впервые протестируете свое приложение с другим разрешением.
К сожалению, на самом деле нет волшебного ответа на вопрос "почему мои формы облажались?" Ваши формы испорчены, потому что независимость от разрешения не была заложена в них. Существует целый ряд возможных проблем: у вас могут быть элементы управления, привязанные к неправильным вещам, кто-то мог бы «исправить» проблему макета, переопределив автоматическое масштабирование элемента управления, на самом деле, это бесконечно.
Зачастую лучшим способом решения подобного рода проблем в унаследованном приложении является постепенное создание дубликата прототипа оскорбительной формы в тестовом приложении и наблюдение за его поведением при изменении его размера и изменении разрешения экрана. Это поможет вам определить, как изначально должна была быть разработана форма; затем вы можете взять то, что вы узнали, в исходную форму и исправить ее.
А затем включите это в процесс разработки с самого начала. Одна из причин, по которой у меня нет этих проблем в большом настольном приложении с интенсивным пользовательским интерфейсом, которое я создаю, заключается в том, что я изменил размер каждой формы в программе и меняю их размер во время тестирования все время, чтобы увидеть, Облажаешься Я также тестирую с различными разрешениями экрана как само собой разумеющееся. Это те проблемы, которые действительно трудно решить, когда они станут системными; раннее их обнаружение избавит меня от многих неприятностей.