Как сохранить объекты на месте при изменении размера окна в С#

Как сохранить объекты моего окна (кнопки, метки и т.д.) в центре при изменении размера окна?

В настоящее время у меня есть 3 кнопки в Windows Form. Когда я максимизирую окно, кнопки остаются в левом верхнем углу окна. Я хочу, чтобы они находились в центре так, как если бы окно не было максимально.

Любая помощь?

Ответ 1

Вы должны установить свойства привязки объекта none,

Это будет держать его посередине.

Ответ 2

Чтобы сохранить ваш макет фиксированным и посередине, выполните следующие действия:

  • На Form добавить TableLayoutPanel.
  • Задайте для свойства Dock значение Fill.
  • Создайте 3 строки и 3 столбца.
  • Редактировать строки и столбцы - установить 50% для первого и последнего столбца и строки.
  • Установите фиксированный размер для средней строки и столбца.
  • Поместите Panel или что-нибудь еще, что вам нравится во 2-й строке и 2-м столбце. Он всегда будет посередине.

Ответ 3

Правильно установите свойство Anchor для ваших элементов управления. По умолчанию ваш элемент управления привязан к Top,Left. Если вы очистите это свойство (якорь ни к чему, по существу), ваша кнопка останется в центре.

(Может показаться, что вы хотите привязать ко всем четырем сторонам, но на самом деле то, что это будет делать, это изменить размер вашей кнопки, чтобы заполнить форму!)

Ответ 4

Если вы используете визуальный конструктор Visual Studio (и у вас нет причин не делать этого), свойство вашего элемента управления, которым вы хотите управлять тем, как они размещаются внутри формы, является "Якорь". По умолчанию при создании нового элемента управления он имеет значение "Top-Left", что означает, что они останутся в фиксированном положении в верхнем левом углу формы. Вы можете изменить это, чтобы привязать их ко всему.

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