Различный размер формы между XP и 7 - PullRequest
10 голосов
/ 03 апреля 2010

Я разрабатываю приложение C # WinForms на своем компьютере с XP с Visual C # Express 2008.

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

Развертывание приложения на другой машине с XP, и приложение выглядит так же, как на моем устройстве.

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

Итак, мой вопрос: каков наилучший способ правильно поддерживать клиентскую область размера формы в разных ОС?

Спасибо всем.

1 Ответ

11 голосов
/ 03 апреля 2010

Вы должны использовать свойство ClientSize - если вы установите его в коде, оно не изменится во всех ОС.

Из MSDN:

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

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