Как предотвратить перекрытие элементов управления winform при расширении приложения?

У меня есть довольно простое приложение winforms. Он содержит богатое поле редактирования, встроенный браузер, индикатор выполнения, несколько кнопок и т. д.

У меня есть якоря на элементах управления, настроенные на расширение во всех направлениях.

Однако при расширении вверх и вниз элементы управления будут перекрывать друг друга. Как предотвратить это?

Спасибо


person Jason    schedule 03.01.2013    source источник
comment
Вы пробовали состыковать элементы управления?   -  person Alan    schedule 04.01.2013
comment
@Alan Алан, когда я устанавливаю док-станцию, она сразу же перекрывает другие элементы управления в форме.   -  person Jason    schedule 04.01.2013
comment
Хорошо, я вижу. Вероятно, вы сможете добиться желаемого, изменив порядок элементов пользовательского интерфейса в окне «Структура документа» (Вид => Другие окна). В редакторе Windows Forms порядок элементов управления имеет значение в процессе компоновки.   -  person Alan    schedule 04.01.2013
comment
Вы не можете настроить все элементы управления на расширение во всех направлениях, привязав их к 4 сторонам — это привязывает их к сторонам родительской формы, и при изменении размера они будут перекрываться. Подумайте о том, чтобы сгруппировать их в панели или другие элементы управления, чтобы у вас было меньше непосредственных дочерних элементов формы; заставьте детей формы соответствующим образом изменить размер, а затем перейдите к своим детям   -  person Sten Petrov    schedule 04.01.2013


Ответы (2)


Лучше всего добавить TableLayoutPanel в вашу форму, содержащую «сетку макета», которая должна быть прикреплена к форме, затем вы можете добавить свои элементы управления в ячейки таблицы (они могут охватывать несколько строк и столбцов, чтобы вы могли получить желаемый макет).

person Trevor Pilley    schedule 03.01.2013

Вы должны установить свойство Autosize=true для каждого элемента управления, особенно для главной формы.

Обратите внимание, что некоторые элементы управления, такие как TabControl, имеют это свойство, но вы не можете увидеть его с помощью intellisense (атрибут Browseable=false).

person VladL    schedule 03.01.2013