2011-11-17 6 views
7

Как определить, что кнопка центрирует себя в контейнере без указания местоположения? Возможно ли это?Центральные кнопки в контейнере

Цель состоит в том, чтобы иметь возможность центрировать несколько кнопок в панели без необходимости выполнять вычисления при их размещении.

+0

Что должно произойти, если 2 кнопки сказали, что они хотят быть центрированными? – McKay

+0

Небольшое расстояние между ними. Как то, как float будет вести себя в Css –

+0

@MatthewCox, как насчет использования свойства Anchor кнопок в боковой панели ... –

ответ

15

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

  • Отключить Left и Right якоря вашего контроля, если вы хотите, чтобы ваши средства управления, чтобы оставаться в центре по горизонтали, а Top и Bottom якоря, если вы хотите, чтобы ваши средства управления, чтобы оставаться в центре вертикально,
  • В окне конструктора выберите элемент управления,
  • в меню VS 'Формат', нажмите 'центр в форме', затем 'Horizontally' и/или 'Вертикально '.

Если вы хотите центрировать несколько элементов управления сбоку, выберите их все и выполните указанные выше шаги.

Элементы управления будут оставаться центрированными в форме, когда пользователь изменит размер окна.

+1

У вас есть это правильно, но я думаю, что вы имели в виду «левый и верхний» якоря. – LarsTech

+0

@Otiel Это не ведет себя так, как мне нужно.В конце, если вы исследуете 'InitializeComponent()' Он по-прежнему указывает вычисляемое местоположение, а затем не дает никаких привязок. –

+0

@Otiel Очень приятно знать, когда позиция должна оставаться фиксированной и известна во время компиляции. Однако в моем случае просто не работает. –

2

Я не уверен на 100% того, что вы просите, но попробуйте использовать TableLayoutPanel и отбросьте одну кнопку в каждой ячейке таблицы. Если вы привяжете TableLayoutPanel к началу, слева, внизу & Вправо, таблица будет расти и уменьшаться с помощью формы, но каждая кнопка будет «плавать» относительно левого верхнего угла его ячейки.

Отключение всех привязок будет поддерживать TableLayoutPanel в его относительном местоположении в вашей форме, но ваши кнопки будут оставаться равномерно между собой.

Между стандартным анкером управления и/или TableLayoutPanel вы должны быть в состоянии найти подходящий тип привязки, который вы желаете.

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