Как правильно установить привязку / закрепление, чтобы графический интерфейс мог соответствовать разным размерам экрана - PullRequest
0 голосов
/ 15 января 2012

У меня есть простой графический интерфейс WinForms, который я хочу использовать с TabPages.У меня проблема с изменением размеров и работой с экранами разных размеров.Какие настройки я изменяю для каждого TextBox, GroupBox, чтобы он хорошо подходил к экрану, не создавая у пользователя ощущения, будто он плохо спроектирован?

Обычно я бы использовал Dock Fill, но он не работает с более чем 1 GroupBox.Затем я проверил / поиграл с Anchor, пытаясь связать его с Top, Left, Right, Bottom для всего, но это создает большой беспорядок (текстовые поля перекрывают другие метки, texbox и т. Д.).Я пытался выбрать некоторые здесь, некоторые здесь, но всякий раз, когда я пытаюсь изменить размер, происходят неожиданные вещи.Как бы я пошел отсюда?Моя система 24 "и разрешением 1920x1080p, но у моих пользователей часто есть диапазон от 1024x768 до 1920x1080.

Сейчас я использую элементы управления Devexpress, но этот вопрос относится как к Devexpress, так и к встроенным элементам управления.

screenshot

1 Ответ

2 голосов
/ 15 января 2012

Во-первых, установите размер формы в конструкторе немного меньше минимального ожидаемого разрешения - скажем, 900x650 или около того.Затем вы можете создать форму, которая будет работать со всеми разрешениями, даже если ее размер не будет изменен.

Затем определите, какие элементы управления должны оставаться фиксированного размера, а какие должны растягиваться / расти по мере того, как мы создали форму.больше.Во-первых, некоторые поля не выиграют от увеличения (например, если у вас есть текстовое поле, которое всегда содержит процент до 3 цифр, бессмысленно или даже нецелесообразно увеличивать его настолько, чтобы показывать 9 цифр).Во-вторых, некоторые поля заполняют всю ширину формы, поэтому они, естественно, будут работать лучше, если они будут расти вместе с ним.

Теперь установите привязку. Как правило, привязывайте край элемента управления к ближайшему краю элемента.форма. Если вы установите только один якорь, элемент управления не будет растягиваться, и привязанный край начнется на том же расстоянии от этой стороны формы.

Если вы хотите растянуть элемент управления, закрепите противоположные стороны (например, влево и вправо). Это будет держать эти ребра на одинаковом расстоянии от ребер формы, поэтому элемент управления будет растянут до размеров.

Вы увидите, что если один элемент управления закреплен на месте, а элемент управления рядом сон настроен на растяжение, есть большая вероятность того, что они будут перекрываться, поэтому вы должны рассматривать все элементы управления в форме каксвязанная группа.

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

Чтобы увидеть эффекты, просто измените размер формы в конструкторе и посмотрите, куда все идет - затем отмените и исправьте любую привязку, котораяне работалВскоре вы почувствуете, как работает макет, и как правильно создавать формы для работы с изменением размера.

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