2016-12-14 2 views
0

Я написал программу в C# (Visual Studio), которая использует несколько форм. Проблема возникает, когда программа запускается на другом компьютере с другим разрешением экрана. Содержимое формы не вписывается в форму всякий раз, когда программа запускается на компьютере с меньшим разрешением экрана. Что я могу сделать, чтобы соответственно изменить размер формы в зависимости от разрешения экрана, чтобы содержимое формы всегда соответствовало размеру экрана или размеру компьютера, на котором он запускается?Autosize содержимое формы в C# для любого размера окна

Большое спасибо!

+0

Возможный дубликат [Как автоматическое изменение размера и настройка элементов управления формы с изменением разрешения] (http://stackoverflow.com/questions/4248637/how-to-auto-resize-and-adjust-form-controls-with -change-in-resolution) – mammago

+0

Я уже пробовал это. Он работал для меня при изменении размера окна горизонтально (делая его меньшей ширины). Однако при изменении размера окна по вертикали (что делает его меньшей высоты) это не сработало. Существует ли другой метод, который должен использоваться для вертикального закрепления? @mammago – Alisinna

ответ

0

Предполагая, что вы используете WinForms, в этом случае лучше всего использовать различные элементы управления контейнером, входящие в структуру, например, FLowLayoutPanel и TableLayoutPanel.

Если вы хотите этого избежать, используйте стандартный элемент управления Panel и используйте свойство Dock, чтобы обеспечить правильное заполнение необходимых областей. Затем используйте свойство Dock на всех ваших элементах управления, чтобы сделать макет более восприимчивым к различным разрешениям и, что еще важнее, к настройкам DPI в Windows.

+0

Спасибо! Да, я использую WinForms. Имеются ли свойства привязки и док-станции? @Gary – Alisinna

+0

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

+0

Большое вам спасибо! Попробуй это :) @Gary – Alisinna

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