2010-04-10 4 views
0

Мое приложение имеет несколько элементов управления. Как на одном экране имеет TreeView с левой стороны, GridView с подкачкой в ​​середине и 4 кнопки с правой стороны. Элементы управления правильно отображаются, когда форма находится в максимизированном состоянии, но если я скрою ее, элементы управления не будут правильно помещаться на экране.Элементы управления пользователя не подходят на экране

Я попытался с различными различными трюками, как сервировки стола .. в Датах я добавил панель, и т.д. ...

Но я не мог решить эту проблему.

Как создать такой тип экранов, который подходит независимо от размера моего окна?

спасибо

+0

Каковы опорные точки для каждого элемента управления? Вы можете обнаружить, что вам нужно установить правильные опорные точки. – Kane

+0

точки привязки для дерева вид слева, сетка - слева-направо-снизу, а для панели кнопок - rigth-bottom .. – Royson

+0

Как вы ожидаете, что элементы управления будут видны или подходят для минимизированного окна? –

ответ

2

У меня была такая же проблема некоторое время назад. В моем случае у меня была кнопка и ListView в GroupBox, который находился внутри SplitContainer, который находился в UserControl в TabControl. Я хотел, чтобы кнопка в правом верхнем углу располагалась и привязывалась, и ListView занимал оставшееся пространство, поэтому я не мог ее состыковать. Вместо этого он был закреплен во всех четырех местах.

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

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

Так что я получил его на работу и начал с другой вещи, которую я должен был сделать в своем приложении. Через некоторое время у меня появился новый запрос функции и нужна еще одна кнопка в этой грязной вещи. На этот раз я сделал полную перестройку элементов gui в новом usercontrol, просто чтобы увидеть, появляется ли проблема снова. К моему удивлению, этот gui mock просто повел себя так, как ожидалось.

В моем коде я ничего не знал об изменении местоположения, размера, якорях, доках и т. Д. Таким образом, проблема должна была быть в коде InitializeComponents(), созданном дизайнером.

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

Как вы думаете, какое свойство привело к безумному поведению?
Это был MinimumSize моего SplitContainer!

Чтобы получить действительно основную причину вашей проблемы, вы должны начать с пустого UserControl (или Form) и просто поместить все элементы на нем с желаемым поведением (размер, местоположение, привязка, док-станция).

Ничего больше!

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