Изменение интервала линий привязки в Visual Studio

Можно ли изменить количество пространственных линий привязки между элементами управления в проекте WinForms в Visual Studio?

Например, когда я перемещаю текстовое поле вверх к другому текстовому полю (одно над другим), между элементами управления остается 6 пикселей. Я бы хотел, чтобы между ними оставалось 5 пикселей, когда они привязываются друг к другу.

Спасибо.


РЕДАКТИРОВАТЬ:

Спасибо за все ответы. Я подумал, что было бы полезно резюмировать подходы:

Вариант 1

Установите режим макета на SnapLines (по умолчанию) в меню «Инструменты»> «Параметры»> «Конструктор Windows Forms»> «Общие» и следуйте указаниям Игби Ларджмана в принятом ответе.

Вариант 2

Установите режим макета на SnapToGrid и выберите интервал через Размер ячейки сетки по умолчанию. Спасибо Джо Кофеину и Марку Стоберу за этот ответ .

Дополнительный подход 1

Удерживайте нажатой клавишу ALT при перетаскивании элементов управления, чтобы вообще не использовать привязку как Vigness .N предложил.

Дополнительный подход 2

Используйте клавиши со стрелками для перемещения элементов управления с шагом в пикселях.

Дополнительный подход 3

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


person ifugu    schedule 04.09.2009    source источник


Ответы (5)


Обратите внимание, что линии привязки используются как для интервала (синие линии), так и для выравнивания (розовые линии).

Да, вы можете контролировать объем пространства, предлагаемого линиями привязки, но вы делаете это, изменяя Margin и Padding элементов управления.

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

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

Это обсуждается здесь.

Изменить: есть особый случай, когда форма является родительским контейнером, а заполнение формы составляет 0,0,0,0.

Примечание
Если для свойства Padding установлено значение 0,0,0,0, конструктор Windows Forms предоставит форме затененное значение Padding, равное 9,9,9,9. Чтобы изменить это поведение, присвойте значение, отличное от 0,0,0,0.

person Igby Largeman    schedule 26.03.2013

Нет линий привязки, которые помогут вам установить интервал между элементами управления, они помогают выровнять края элементов управления и текст. Вместо этого дизайнер обращает внимание на свойство Margin элемента управления. По умолчанию для кнопки установлено значение (3, 3, 3, 3), она защелкнется на месте, создав зазор в 3 пикселя от соседнего элемента управления.

Лучше всего попробовать самому. Отбросьте метку и кнопку, измените Margin кнопки на (3, 10, 3, 3) и переместите кнопку под меткой вверх и вниз. Теперь вы увидите, что он защелкивается на месте, создавая зазор в 10 пикселей.

person Hans Passant    schedule 22.03.2013
comment
Это неверно по двум причинам. Во-первых, есть линии привязки для интервалов - это синие линии, которые дизайнер рисует, когда элемент управления, который вы перемещаете или изменяете, приближается к другому элементу управления. Во-вторых, предлагаемый интервал определяется суммированием полей / отступов обоих рассматриваемых элементов управления. - person Igby Largeman; 28.03.2013
comment
Хм, нет, я не вижу синих линий привязки, отмечающих зазор. Да, при суммировании полей, конечно, зависит от настроек полей на соседнем элементе управления. Вы за это проголосовали против этого ответа? - person Hans Passant; 28.03.2013
comment
Да, я сделал, Ганс - два фактически неверных утверждения оправдывают голос против, не так ли? Настоящий вопрос заключается в том, почему три человека проголосовали за вводящий в заблуждение ответ? (Есть определенно линии привязки для интервалов - прочтите документацию, на которую я ссылаюсь. То, будут ли они синими в вашей установке, может зависеть от ваших настроек цвета Windows) - person Igby Largeman; 02.04.2013
comment
Спасибо, Ганс. Ваш ответ был полезен. - person ifugu; 07.07.2014

Существует настройка для управления интервалом сетки в меню Инструменты -> Параметры -> Конструктор Windows Forms.

person Joe Caffeine    schedule 04.09.2009
comment
Не уверен насчет 2008 года, но, по крайней мере, в 2010 году похоже, что это только для LayoutMode = SnapToGrip; вопрос заключается в интервале для LayoutMode = SnapLines. - person Marc Stober; 20.03.2013
comment
Это было очень полезно. Между принятым ответом и вашим, я думаю, я понимаю, как контролировать интервал. Спасибо! - person ifugu; 07.07.2014

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

person Vignesh.N    schedule 27.03.2013
comment
Этот вариант хорошо запомнить. Может пригодиться. Спасибо. - person ifugu; 07.07.2014

Очевидно, что здесь нет настройки параметров. Однако вы можете достичь своей цели с помощью этих двух мер: Первое: перемещайте элемент управления после падения с помощью клавиш со стрелками. Во-вторых: вы можете разместить вспомогательные кнопки слева, справа вверху или внизу контейнера. Snapline будет использовать их в качестве эталона, и если они разнесены на 4 пикселя, ваши новые элементы управления также будут иметь размер 4 пикселя. Вы также можете нажать элемент управления с помощью клавиши со стрелкой, чтобы перейти к следующему предложенному положению линии привязки. При этом возможен интервал до 1 пикселя. Наконец, удалите вспомогательные кнопки.

Надеюсь, поможет.

person Johannes Maria Frank    schedule 20.03.2013
comment
Я видел, как эта стратегия может помочь в некоторых ситуациях. Спасибо. - person ifugu; 07.07.2014